日期:2014-05-16  浏览次数:20799 次

Mysql如何定时执行任务

我想实现每隔30秒执行以下下面sql

  1. update userinfo SET endtime = now() WHERE id ='155';
?

如何让mysql定时执行上面的sql语句呢!

?

一、查看event是否开启

show variables like '%sche%';

开启event_scheduler
set global event_scheduler =1;

二、创建存储过程test

CREATE PROCEDURE test ()
BEGIN
update userinfo SET endtime = now() WHERE id = '155';
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;

?