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;
|