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