ホームページ >データベース >mysql チュートリアル >7 日以上経過した MySQL レコードを自動的に削除するにはどうすればよいですか?

7 日以上経過した MySQL レコードを自動的に削除するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-27 08:15:11581ブラウズ

How to Automatically Delete MySQL Records Older Than 7 Days?

時間に基づいた 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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。