首页 >数据库 >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