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

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

DDD
发布: 2024-11-29 11:54:10
原创
290 人浏览过

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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板