使用 MySQL (5.5.x) 计划事件,有没有办法将其设置为每天运行,在上午 8 点到下午 6 点之间每 1 小时运行一次。我已经阅读了文档,但看不到任何突出的内容,所以我认为答案可能是否定的,但想知道是否还有其他人知道吗?
似乎有每天(每 1 天)或每小时每 1 小时运行的选项。或者有 BETWEEN 开始和结束时间的选项 (STARTS CONCAT(DATE(now()), ' ', '08:00:00') ENDS CONCAT(DATE(now()), ' ', '18:01: 00')。但似乎没有办法将它们组合起来:
每 1 小时开始...结束...只需在这两个时间之间每小时运行一次,然后停止。明天来它不会重新启动。
最佳答案
您可以每小时运行一次,然后在事件主体中检查时间以查看它是应该继续还是立即终止:
DELIMITER //
CREATE EVENT my_event ON SCHEDULE EVERY HOUR DO
IF CURRENT_TIME BETWEEN '08:00:00' AND '18:00:00' THEN
-- do stuff
END IF//
DELIMITER ;
关于MySQL 计划事件 - 每天运行的选项,在 x 和 Y 之间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23224221/