如何在MySQL中安排存储过程定期运行?

Susan Sarandon
发布: 2024-11-04 08:39:30
原创
288 人浏览过

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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板