如果日期早于 30 天,则更新列


update column if date is older than 30 days

如果我每天使用 cron 作业运行并检查日期是否早于 30 天,我有一个列名"date"和另一列名为"status"的列,然后要将状态更改为过期,我需要使用 mysqli 和 php 运行什么代码。

MySQL事件调度器更好。

  1. 通过在PhpMyAdmin或MySQL命令提示符下执行以下查询来启动MySQL事件调度程序。

输入此内容。

SET GLOBAL event_scheduler = 1;
  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