mysql 定时器案例

来源:互联网 发布:高考背单词软件 编辑:程序博客网 时间:2024/04/27 21:41

完成一个简单的定时任务,也就是完成一个类比存储过程和一个事件


drop PROCEDURE temp;

CREATE PROCEDURE temp()  
BEGIN 
UPDATE t_report_tables_dict SET report_id=report_id+1;  
COMMIT; 
END ;


drop event  temp_event;
CREATE event IF NOT EXISTS temp_event ON SCHEDULE EVERY 1 SECOND
ON COMPLETION PRESERVE ENABLE   
DO CALL temp();

方法简单,完成了。



注意点一:打开定时器

ALTER EVENT temp_event ON COMPLETION PRESERVE ENABLE;
SHOW EVENTS ;
select now();
show VARIABLES like '%event_scheduler%';
set global event_scheduler = on;


注意点二:

定时器事件的设定,暂不做说明,样例:

DROP EVENT IF EXISTS e_test;

 create event test
ON SCHEDULE AT '2007-09-01 10:00:00' + INTERVAL 1 DAY
on completion not preserve
do insert into yyy values('hhh','uuu');


解释:从2007-09-01开始,每天对表yyy在12:00:00进行一个插入操作。而且只执行一次


附说:on schedule every 60 second      ---设置60秒执行一次    on schedule at date_add(now(),interval 1 minute) ---在一分钟后执行
on schedule every 1 day starts '2017-01-22 10:25:00' 每天定点执行




0 0
原创粉丝点击