2つの列があるとしましょう。日付とステータス。
新しい行が入ってくると、STATUS にはデフォルトが設定されます。ステータスには次の 4 つの値があります。
Not Answered,
Just Asked (Default),
Answered,
Closed
2 日後に自動的に [未回答] に変更したいとします。これを行うために mysql を使用できますか? それとも、PHP などのスクリプト言語を使用して毎日実行する必要がありますか?
これは、毎晩実行する cron スクリプトを使用して行うのが最適です。
UPDATE `my_table` SET status = 'Not answered' WHERE date = ADDDATE( now(), -2 );
ただし、最初に日付形式を確認する必要がある場合があります。
たとえば、使用できるmysqlの場合は、必要なたびに実行するcronスクリプトを使用します。
mysql -h hostname -u username -ppassword -e "query to run"
次の挿入に「挿入後」トリガーを使用して、既存の値を更新できます。しかし、常に新しい値が入力されることに頼ることができない場合は、cron ジョブが最善の策です。