MySQL定时任务简单例子

jopen 10年前

    如果要每30秒执行以下语句:

update userinfo set endtime = now() WHERE id = '110';


可以给mysql建个定时任务,具体方法如下:

delimiter //   /* 设定语句终结符为 //,因存储过程语句用;结束 */


一、查看event是否开启

show variables like '%sche%';
开启event_scheduler
set global event_scheduler =1;

二、创建存储过程test
CREATE PROCEDURE test ()  BEGIN  update userinfo set endtime = now() where id = '110';  END;

三、创建event e_test
create event if not exists e_test  on schedule every 30 second  on completion preserve  do call test();


每隔30秒将执行存储过程test


关闭事件任务
alter event e_test ON COMPLETION PRESERVE DISABLE;

开户事件任务
alter event e_test ON COMPLETION PRESERVE ENABLE;