首頁 >資料庫 >mysql教程 >如何在MySQL中安排預存程序定期運行?

如何在MySQL中安排預存程序定期運行?

Susan Sarandon
Susan Sarandon原創
2024-11-04 08:39:30335瀏覽

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

如何在 MySQL 中安排例程

MySQL 允許您安排儲存程序以指定的時間間隔運行。這對於自動化任務(例如資料清理或定期報告)非常有用。若要規劃預存程序,您可以使用 CREATE EVENT 語句。

計劃預存程序以刪除舊資料

考慮以下預存程序(delete_rows_links),它將刪除超過一天的啟動連結:

<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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn