如果我每天使用 cron 作业运行并检查日期是否早于 30 天然后将状态更改为过期,我有一个表,其中我有列名“日期”和另一个名为“状态”的列,什么代码我需要使用 mysqli 和 php 运行吗?
问问题
2009 次
3 回答
2
尝试这个:
UPDATE table SET status="expired" where YOURDATEFIELD < date_sub(now(), interval 1 month);
于 2013-10-07T05:01:42.550 回答
2
MySQL 事件调度器更好。
- 通过在 PhpMyAdmin 或 MySQL 命令提示符中执行以下查询来启动 MySQL 事件调度程序。
输入这个。
SET GLOBAL event_scheduler = 1;
这将更新您的表格。
CREATE EVENT newEvent ON SCHEDULE EVERY 1 DAY DO UPDATE table SET status="expired" WHERE datefield<=CURRENT_DATE - INTERVAL 30 DAY;
于 2013-10-07T05:17:38.763 回答
1
在您的 UPDATE 查询中使用INTERVAL
..
UPDATE table SET status="expired" WHERE datefield<=CURRENT_DATE - INTERVAL 30 DAY
于 2013-10-07T04:53:09.593 回答