MySQL实现定时任务

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

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

可以给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 = '';
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 OFF COMPLETION PRESERVE DISABLE;

开启事件任务

alter event e_test ON COMPLETION PRESERVE ENABLE; 
上一篇:Asp.Net Core&Docker部署到树莓派3B中


下一篇:A、B同时打开一个页面进行同一条数据库记录进行修改,A修改完成后提交表单,A修改的数据保存完成后;当B也修改完成后,提交数据进行数据修改。此时B修改的内容会覆盖A修改的内容,请问如何避免?