時間に基づいた MySQL レコードの削除
7 日後に MySQL データベースからメッセージを自動的に削除するには、MySQL イベントを利用できます。その方法は次のとおりです:
1.イベントを定義します:
CREATE EVENT delete_event ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 DAY ON COMPLETION PRESERVE DO BEGIN /* Insert the adjusted delete statement here. */ END;
2.削除ステートメントを調整します:
指定された削除ステートメントでは、現在の日付を含む >= 演算子を使用します。 7 日前のメッセージが確実に削除されるようにするには、< を使用します。代わりに:
WHERE date < DATE_SUB(NOW(), INTERVAL 7 DAY)
3.スクリプトを完成させます:
すべてをまとめると、修正されたスクリプトは次のようになります:
CREATE EVENT delete_event ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 DAY ON COMPLETION PRESERVE DO BEGIN DELETE messages WHERE date < DATE_SUB(NOW(), INTERVAL 7 DAY); END;
以上が7 日以上経過した MySQL レコードを自動的に削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。