mysql定时任务简单例子

时间:2021-12-30 17:03:42

mysql定时任务简单例子

1
2
3
4
5
6
7
8
9
    如果要每30秒执行以下语句:
[sql]
update userinfo set endtime = now() WHERE id = '110'
可以给mysql建个定时任务,具体方法如下:
[sql]
delimiter //   /* 设定语句终结符为 //,因存储过程语句用;结束 */
一、查看event是否开启
1
2
3
4
5
[sql]
show variables like '%sche%'
开启event_scheduler
[sql]
set global event_scheduler =1;
二、创建存储过程test
1
2
3
4
5
[sql]
CREATE PROCEDURE test () 
BEGIN 
update userinfo set endtime = now() where id = '110'
END;
三、创建event e_test
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[sql]
create event if not exists e_test 
on schedule every 30 second 
on completion preserve 
do call test(); 
每隔30秒将执行存储过程test
关闭事件任务
[sql]
alter event e_test ON COMPLETION PRESERVE DISABLE; 
开户事件任务
[sql]
alter event e_test ON COMPLETION PRESERVE ENABLE;