如果要每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;