使用 php 和 MySql,是否有办法让数据库中的日期在日期过期时自行更新。即事件名称 x 的日期为 2012-05-12,2012-05-13 的日期应更改为 2012-05-19(距 2012-05-12 一周)
多谢你们
您可以使用 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';