MySQL 定时器event

记录一下MySQL定时器常用的几条语句
1:查看定时器是否开启
SHOW VARIABLES LIKE '%sche%' ;
2:打开定时器
SET GLOBAL event_scheduler = 1;
3:创建定时器
CREATE EVENT [IF NOT EXISTS] event_name
ON SCHEDULE schedule
[ON COMPLETION [NOT] PRESERVE]
[ENABLE | DISABLE]
[COMMENT 'comment']
DO sql_statement;
说明:event_name :创建的event名字(唯一确定的);
ON SCHEDULE:计划任务
schedule: 决定event的执行时间和频率(注意时间一定要是将来的时间,过去的时间会出错),有两种形式 AT和EVERY;
[ON COMPLETION [NOT] PRESERVE]: 可选项,默认是ON COMPLETION NOT PRESERVE 即计划任务执行完毕后自动drop该事件;ON COMPLETION PRESERVE则不会drop掉 ;
[ENABLE | DISABLE] :设定event的状态,默认ENABLE:表示系统尝试执行这个事件, DISABLE:关闭该事情,可以用alter修改;
[COMMENT 'comment'] :可选项,comment 用来描述event;相当注释,最大长度64个字节;
DO sql_statement: 需要执行的sql语句(可以是复合语句;
4:修改定时器(类似创建)
ALTER EVENT event_name
ON SCHEDULE schedule
[RENAME TO new_event_name]
[ON COMPLETION [NOT] PRESERVE]
[ENABLE | DISABLE]
[COMMENT 'comment']
DO sql_statement;
5:删除定时器
DROP EVENT [IF EXISTS] event_name;
6:查看自己创建的定时器
select * from mysql.event;

示例:每天将table_name的version置零
CREATE EVENT test_event ON SCHEDULE EVERY 1 DAY STARTS '2017-07-24 00:00:00'
ON COMPLETION PRESERVE ENABLE DO update table_name set version=0;

你可能感兴趣的:(MySQL 定时器event)