MySQL 计划事件 - 每天运行的选项,在 x 和 Y 之间?

标签 mysql

使用 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/

相关文章:

python - 如何在 MySQL 上使用 Django 模拟 "lock timeout"错误

MySQL - 使用 Join 运算符后出现重复列

PHP ARRAY 根据日期范围显示数组中的分组数据

mysql - 帮我优化一个属性太多的 ActiveRecord 对象

php - 包需要 : libcurl. so.3

jquery - 混合 CodeIgniter、HTML、JQuery 和 MySQL

PHP/MySqli 检查表 A ID 与表 B ID

mysql - 让 mysql 显示带有引用的表

asp.net - 旧站点迁移选项

php - 根据另一个字段在一行中合并结果