如何在第二天开始时在mysql的DATE字段中自动更新今天的DATE?

时间:2014-01-06 07:47:08

标签: php mysql sql

我要求我的表格中的日期字段应在第二天(上午12:00)自动更新。

3 个答案:

答案 0 :(得分:2)

您可以使用

  • 通过mysql命令行界面运行UPDATE语句的cron作业
    /path/to/mysql -u<user> -p"<password>" <db_name> -e "UPDATE table_name SET n = CURDATE()"
CREATE EVENT update_date_column 
  ON SCHEDULE EVERY 1 DAY STARTS CURDATE()
  DO UPDATE table_name SET n = CURDATE();

如果你选择事件方法:

  • 使用SHOW EVENTS列出已创建的事件及其属性(例如status
  • 使用SHOW PROCESSLIST检查事件调度程序是否已启用。如果它处于开启状态,您应该会看到用户“Daemon”的流程“event_scheduler”。
  • 如果当前未启用调度程序,请使用SET GLOBAL event_scheduler = ON;启用调度程序。
  • 有关配置事件调度程序的更多信息,请阅读here

但问题是为什么你需要这样做?它闻起来像一个糟糕的设计。

答案 1 :(得分:0)

我最好的猜测是写一个在午夜运行的cron并为你做那件事。

00 00 * * * path/to/your/script

答案 2 :(得分:0)

你正在寻找玉米工作看看这个问题

How to add a cron job to run php script

您需要创建一个PHP文件说change.php并编写代码以更改您的mysql数据库表,并将以下行添加到玉米

0 0 * * * /usr/local/bin/php change.php