如果我每天使用 cron 作业运行并检查日期是否早于 30 天,我有一个列名"date"和另一列名为"status"的列,然后要将状态更改为过期,我需要使用 mysqli 和 php 运行什么代码。
MySQL事件调度器更好。
- 通过在PhpMyAdmin或MySQL命令提示符下执行以下查询来启动MySQL事件调度程序。
输入此内容。
SET GLOBAL event_scheduler = 1;
这将更新您的表。
创建事件 新事件每 1 天按计划发货做更新表设置状态="过期" 其中日期字段<=CURRENT_DATE - 间隔 30 天;
试试这个:
UPDATE table SET status="expired" where YOURDATEFIELD < date_sub(now(), interval 1 month);
在 UPDATE 查询中使用 INTERVAL
。
UPDATE table SET status="expired" WHERE datefield<=CURRENT_DATE - INTERVAL 30 DAY