需要简单3步,此处记录下:

  • 开启数据库任务调度

  • 创建存储过程

  • 开启定时器event

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
-- 选择数据库
use db_xx_xx;

-- 开启事件
SET GLOBAL event_scheduler = ON;

-- 存储过程
DELIMITER //
CREATE PROCEDURE p_planCron()
BEGIN
-- 天数差值
set @today = now();
set @start_day = date_add(@today , interval -31 day);
set @end_day = date_add(@today , interval -1 day);
set @dlta = datediff(@today,@end_day );

-- 处理逻辑略

-- 安全模式
SET SQL_SAFE_UPDATES = 1;
END//
delimiter ;



-- EVENT
CREATE EVENT IF NOT EXISTS event_p_cron
ON SCHEDULE EVERY 1 DAY STARTS DATE_ADD(DATE_ADD(CURDATE(), INTERVAL 1 DAY), INTERVAL 1 MINUTE)
ON COMPLETION PRESERVE
COMMENT '每天0点1分,更新演示数据'
DO CALL p_planCron();