假设您有一个数据库,需要每天下午 1 点将记录的状态更新为“0”。最初可能会想到以下一个查询:
CREATE EVENT RESET ON SCHEDULE AT TIMESTAMP DO UPDATE `ndic`.`students` SET `status` = '0';
但是该查询使用 TIMESTAMP,它不允许在特定时间进行调度。那么,我们怎样才能达到这个结果呢?
答案就在于 STARTS 关键字。以下是每天下午 1 点执行事件的修改后的查询:
CREATE EVENT event_name ON SCHEDULE EVERY 1 DAY STARTS (TIMESTAMP(CURRENT_DATE) + INTERVAL 1 DAY + INTERVAL 1 HOUR) DO UPDATE `ndic`.`students` SET `status` = '0';
此查询在 (CURRENT_DATE 1 DAY 1 HOUR) 开始事件,此后每 24 小时重复一次。这可确保事件根据需要在每天下午 1 点触发。
以上是如何安排 MySQL 事件在每天的特定时间运行?的详细内容。更多信息请关注PHP中文网其他相关文章!