每日 MySQL 事件调度程序
在 MySQL 中,事件调度程序可用于定期自动执行某些任务。一种常见的场景是每天在特定时间更新数据库记录。
创建事件以每天更新状态
将学生表中的状态字段更新为每天下午 1 点“0”,您可以使用以下事件创建查询:
CREATE EVENT update_status_daily ON SCHEDULE EVERY 1 DAY STARTS CAST('2023-05-01 13:00:00' AS DATETIME) DO UPDATE `ndic`.`students` SET `status` = '0'; END
替代TIMESTAMP
在上面的查询中,事件是根据特定时间戳('2023-05-01 13:00:00')触发的。但是,您也可以使用其他基于时间的表达式来代替时间戳。
一种选择是使用带有 DAY 间隔的 EVERY 子句:
ON SCHEDULE EVERY 1 DAY STARTS CURRENT_DATE + INTERVAL 1 DAY + INTERVAL 13 HOUR
这将在以下时间触发事件第二天下午 1 点(1 天加上当前时间的 13 小时)。
另一种选择是使用带有时间的 AT 子句value:
ON SCHEDULE AT '13:00:00'
这将在当天下午 1 点触发事件。
以上是如何使用 MySQL 的事件调度程序自动执行每日数据库更新?的详细内容。更多信息请关注PHP中文网其他相关文章!