假设我有两列。日期和状态。
当一个新行出现时,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作业是您的最佳选择。
使用每次需要时都运行的cron脚本,例如,对于可以使用的mysql:
mysql -h hostname -u username -ppassword -e "query to run"