我使用此查询在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)
它显示了开始日期.意味着它不是每天都在运行.
如何每天举办这个活动?我在查询中遗漏了什么?
请提前帮助解决这个问题.
你需要设置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仅显示默认的非持久行为.
| 归档时间: |
|
| 查看次数: |
5571 次 |
| 最近记录: |