间隔后,MySQL事件未运行

use*_*138 2 mysql events

我使用此查询在MySQL中创建了一个事件:

delimiter $$
create event update_usability_score
on schedule every 1 day 
starts '2013-01-07 18:22:00'
  do
begin
insert into table_name(pk_id,name) values(1,"testing");

update table table_name set name = 'Not testing' where name like '%testing%';
end//
delimiter ;
Run Code Online (Sandbox Code Playgroud)

当我第一次运行它时,它工作正常,没有显示任何错误.正如我所询问的那样,这一事件将每天都在进行.但它并不是每天都在运行.

当我检查时:

select name, last_executed from mysql.event; 
Run Code Online (Sandbox Code Playgroud)

它显示了开始日期.意味着它不是每天都在运行.

如何每天举办这个活动?我在查询中遗漏了什么?

请提前帮助解决这个问题.

Dev*_*art 8

你需要设置ON COMPLETION PRESERVE选项:

CREATE EVENT update_usability_score
  ON SCHEDULE EVERY 1 DAY
  STARTS '2013-01-07 18:22:00'
  ON COMPLETION PRESERVE
DO
BEGIN
  ...
END
Run Code Online (Sandbox Code Playgroud)

活动文件:

通常,一旦事件过期,它会立即被删除.您可以通过指定ON COMPLETION PRESERVE来覆盖此行为.使用ON COMPLETION NOT PRESERVE仅显示默认的非持久行为.