在开发过程中经常会遇到这样一个问题:
每天必须定时去执行一条sql语句 或更新或删除或执行特定的sql语句。
那么就想到用mysql的event计划任务去实现:
要想执行event事件,就必须保证mysql的版本的5.1.6以上,否则会报如下错误:
1、要想保证能够执行event事件,就必须保证定时器是开启状态,默认为关闭状态
SET GLOBAL event_scheduler = 1;
或
SET GLOBAL event_scheduler = ON;
要查看当前是否已开启事件调度器,可执行如下SQL:
SHOW VARIABLES LIKE 'event_scheduler'
2、如果原来存在该名字的任务计划则先删除
drop event if exist update_test;
3.创建数据库表
3 //创建存储过程
CREATE PROCEDURE update_test() UPDATE dsrw set num=num+1 where num < maxNum;
4 //设置定时任务调用存储过程
CREATE EVENT update_event
ON SCHEDULE EVERY 2 SECOND STARTS NOW() ON COMPLETION PRESERVE DO
CALL update_test()
CREATE EVENT update_event
ON SCHEDULE EVERY 2 SECOND STARTS timestamp '2019-07-13 16:55:00' ON COMPLETION PRESERVE DO
CALL update_test()
/**
YEAR 年| QUARTER | MONTH 月| DAY 日| HOUR 小时| MINUTE 分钟|
WEEK 周| SECOND 秒| YEAR_MONTH | DAY_HOUR | DAY_MINUTE |
DAY_SECOND | HOUR_MINUTE | HOUR_SECOND | MINUTE_SECOND
*/