你好,我正在尝试在Mysql上创建事件时间表并将其设置为每周日工作00:00
CREATE
EVENT `reset_column`
ON SCHEDULE EVERY 1 WEEK STARTS '2013-03-17 03:00:00'
DO BEGIN
END */$$
DELIMITER ;
这是可行的,但我只是想找到另一种方法来告诉它在每个星期的开始做(例如ON SCHEDULE every SUNDAY)
ON SCHEDULE
EVERY 1 WEEK
STARTS CURRENT_DATE + INTERVAL (6 - WEEKDAY(CURRENT_DATE)) DAY
这是通过获取DDL运行的日期(CURRENT_DATE),然后将截至下一个星期日的天数添加到该日期来工作的。它通过查找该日期的WEEKDAY指数(0-6),然后从周日的WEEKDAY指数(6)中减去它,来确定下一个星期日。一旦将开始日期设置为下一个星期日,则每1周重复一次。
对于日期2023-04-29
,它是星期六。
2023-04-29 + INTERVAL (6 - 5) Day = 2023-04-30