ホームページ  >  記事  >  データベース  >  MySQL でストアド プロシージャを定期的に実行するようにスケジュールするにはどうすればよいですか?

MySQL でストアド プロシージャを定期的に実行するようにスケジュールするにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-04 08:39:30256ブラウズ

How to Schedule a Stored Procedure to Run Regularly in MySQL?

MySQL でルーチンをスケジュールする方法

MySQL では、指定した間隔で実行するストアド プロシージャをスケジュールできます。これは、データのクリーンアップや定期的なレポートなどのタスクを自動化する場合に役立ちます。ストアド プロシージャをスケジュールするには、CREATE EVENT ステートメントを使用できます。

古いデータを削除するストアド プロシージャのスケジュール

次のストアド プロシージャ (delete_rows_links) を考慮して、古いデータを削除します。 1 つ以上古いアクティベーション リンクday:

<code class="sql">DROP PROCEDURE IF EXISTS `delete_rows_links` 
GO

CREATE PROCEDURE delete_rows_links
BEGIN 

    DELETE activation_link
    FROM activation_link_password_reset
    WHERE  TIMESTAMPDIFF(DAY, `time`, NOW()) < 1 ; 

END 

GO</code>

このストアド プロシージャを 5 秒ごとに実行するようにスケジュールするには、次の CREATE EVENT ステートメントを使用できます。

<code class="sql">CREATE EVENT myevent
    ON SCHEDULE EVERY 5 SECOND
    DO
      CALL delete_rows_links();</code>

このイベントにより、delete_rows_links ストアド プロシージャが5秒ごとに実行されます。イベント スケジューリングのその他の例は、MySQL ドキュメントで見つけることができます: http://dev.mysql.com/doc/refman/5.1/en/create-event.html

以上がMySQL でストアド プロシージャを定期的に実行するようにスケジュールするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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