如何在MySQL中创建定时任务?

1. 数据初始化
UPDATE bside_ev_process_deprecated SET bside_ev_process_deprecated.updateTime=DATE_FORMAT(SYSDATE(),'%Y%m%d%H%i%s') WHERE bside_ev_process_deprecated.updateTime=-1;

2. 部署事件
2.1 检查MySQL是否开启事件
SHOW VARIABLES LIKE 'event_scheduler';

2.2 如果是OFF,说明事件是关闭状态,则需要把事件功能开启
修改my.ini在其中添加event_scheduler=1的配置后重启MySQL,即可开启事件.

2.3 创建delete_bside_ev_process_deprecated事件
-- 删除事件
DROP EVENT IF EXISTS event_delete_bside_ev_process_deprecated;

DELIMITER &&
-- 创建事件
CREATE EVENT event_delete_bside_ev_process_deprecated
-- 事件开始时间为当天早7点,执行周期为每天执行1次
ON SCHEDULE EVERY 1 DAY STARTS DATE_FORMAT(SYSDATE(),'%Y-%m-%d 07:00:00')
DO
BEGIN
-- 删除bside_ev_process_deprecated的数据
-- 例如:
-- 2019-08-01 07:00:00执行,清空updateTime < 2019-07-01的数据
-- 2019-09-01 07:00:00执行,清空updateTime < 2019-08-01的数据
DELETE FROM bside_ev_process_deprecated WHERE bside_ev_process_deprecated.updateTime < DATE_FORMAT(DATE_SUB(SYSDATE(),INTERVAL 1 MONTH),'%Y%m01000000');
END;
&&
DELIMITER ;

原文地址:https://www.cnblogs.com/renguanyu/p/12220647.html