如果日期超过30天,则更新列

时间:2013-10-07 04:50:03

标签: php mysql

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

3 个答案:

答案 0 :(得分:0)

在UPDATE查询中使用INTERVAL ..

UPDATE table SET status="expired" WHERE datefield<=CURRENT_DATE - INTERVAL 30 DAY

答案 1 :(得分:0)

试试这个:

UPDATE table SET status="expired" where YOURDATEFIELD < date_sub(now(), interval 1 month);

答案 2 :(得分:0)

MySQL事件调度程序更好。

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

    SET GLOBAL event_scheduler = 1;
    
    1. 这将更新您的表格。

      CREATE EVENT newEvent 每天安排一次 做 UPDATE表SET status =“expired”WHERE datefield&lt; = CURRENT_DATE - INTERVAL 30 DAY;