0

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

当新行出现时,STATUS 会设置一个默认值。状态有四个值:

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

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

4

3 回答 3

3

这最好使用您每晚运行的 cron 脚本来完成。

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

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

于 2012-07-19T14:00:54.860 回答
0

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

于 2012-07-19T14:01:42.640 回答
0

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

mysql -h hostname -u username -ppassword -e "query to run"
于 2012-07-19T14:03:08.683 回答