3

使用 php 和 MySql,是否有办法让数据库中的日期在日期过期时自行更新。即事件名称 x 的日期为 2012-05-12,2012-05-13 的日期应更改为 2012-05-19(距 2012-05-12 一周)

多谢你们

4

1 回答 1

1

您可以使用 MySQL 的事件调度程序

CREATE EVENT update_date ON SCHEDULE EVERY 1 DAY STARTS CURDATE() DO
  UPDATE events_table
  SET    event_date = ADDDATE(event_date, INTERVAL 1 WEEK)
  WHERE  event_date < CURDATE();

为了使事件调度程序运行,您可以在 my.cnf 中添加:

[mysqld]
...
event_scheduler=开启

并且具有超级用户权限,您可以动态设置全局变量:

SET GLOBAL event_scheduler='ON';
于 2012-05-08T18:35:38.607 回答