首页 >数据库 >mysql教程 >如何安排每日 MySQL 事件在特定时间运行?

如何安排每日 MySQL 事件在特定时间运行?

DDD
DDD原创
2024-11-29 11:54:10211浏览

How to Schedule a Daily MySQL Event to Run at a Specific Time?

在每天的特定时间安排 MySQL 事件

在 MySQL 中,事件调度程序允许您根据预定义的时间表自动执行任务。但是,您提供的语法 (CREATE EVENT...DO UPDATE...AT TIMESTAMP) 已过时。

解决方案:

创建更新事件每天下午 1 点将状态字段设置为“0”,请按照以下步骤操作:

  1. 使用EVERY Day 触发器: 在 CREATE EVENT 语法中将 AT TIMESTAMP 替换为 EVERY 1 DAY。这会触发事件每天运行一次。
  2. 安排事件时间: 将 STARTS (TIMESTAMP(CURRENT_DATE) INTERVAL 1 DAY INTERVAL 1 HOUR) 附加到语法中。这将活动安排在下午 1 点开始(与当前时间偏移 1 天零 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';

时间戳的替代方案:

STARTS 语句使用 TIMESTAMP(CURRENT_DATE) 作为计划的起点。但是,您也可以使用 NOW() 函数,该函数返回当前时间。

STARTS (NOW() + INTERVAL 1 DAY + INTERVAL 1 HOUR)

以上是如何安排每日 MySQL 事件在特定时间运行?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn