Php 如果数据库值超过某个日期,您可以使用mysql来更改它吗?

Php 如果数据库值超过某个日期,您可以使用mysql来更改它吗?,php,mysql,database,mysqli,Php,Mysql,Database,Mysqli,假设我有两列。日期和状态 当一个新行进入时,STATUS有一个默认设置。状态有四个值: Not Answered, Just Asked (Default), Answered, Closed 假设2天后,我希望它自动更改为未应答,我可以使用mysql来执行此操作吗?或者我必须使用PHP之类的脚本语言并每天运行它吗?这最好通过每晚运行的cron脚本来实现 UPDATE `my_table` SET status = 'Not answered' WHERE date = ADDDATE(

假设我有两列。日期和状态

当一个新行进入时,STATUS有一个默认设置。状态有四个值:

Not Answered, 
Just Asked (Default), 
Answered, 
Closed

假设2天后,我希望它自动更改为未应答,我可以使用mysql来执行此操作吗?或者我必须使用PHP之类的脚本语言并每天运行它吗?

这最好通过每晚运行的cron脚本来实现

UPDATE `my_table` SET status = 'Not answered' WHERE date = ADDDATE( now(), -2 );

不过,您可能需要首先检查日期格式。

这最好通过每晚运行的cron脚本来完成

UPDATE `my_table` SET status = 'Not answered' WHERE date = ADDDATE( now(), -2 );

不过,您可能需要先检查日期格式。

您可以在下次插入时使用“插入后”触发器来更新现有值。但是,如果您不能始终依赖输入的新值,那么cron作业是您的最佳选择。

您可以在下一次插入时使用“插入后”触发器来更新现有值。但是,如果您不能始终依赖输入的新值,那么cron作业是您的最佳选择。

请使用每次需要时运行的cron脚本,例如,对于mysql,您可以使用:

mysql -h hostname -u username -ppassword -e "query to run"

使用每次需要时运行的cron脚本,例如,对于可以使用的mysql:

mysql -h hostname -u username -ppassword -e "query to run"

我不熟悉cron脚本这个术语,你能解释一下吗?对不起,我对这个还不太熟悉!cronscript是一个php文件,可以通过调度任务从CLI运行。太棒了!非常感谢你!那对我来说太好了!非常感谢。我不熟悉cron脚本这个术语,你能解释一下吗?对不起,我对这个还不太熟悉!cronscript是一个php文件,可以通过调度任务从CLI运行。太棒了!非常感谢你!那对我来说太好了!非常感谢。