Maison  >  Article  >  base de données  >  Comment planifier une procédure stockée pour qu'elle s'exécute régulièrement dans MySQL ?

Comment planifier une procédure stockée pour qu'elle s'exécute régulièrement dans MySQL ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-04 08:39:30254parcourir

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

Comment planifier une routine dans MySQL

MySQL vous permet de planifier l'exécution de procédures stockées à des intervalles spécifiés. Cela peut être utile pour automatiser des tâches telles que le nettoyage des données ou des rapports réguliers. Pour planifier une procédure stockée, vous pouvez utiliser l'instruction CREATE EVENT.

Planification d'une procédure stockée pour supprimer les anciennes données

Considérez la procédure stockée suivante (delete_rows_links) qui supprime liens d'activation datant de plus d'un jour :

<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>

Pour planifier l'exécution de cette procédure stockée toutes les 5 secondes, vous pouvez utiliser l'instruction CREATE EVENT suivante :

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

Cet événement provoque l'exécution de la procédure stockée delete_rows_links toutes les 5 secondes. Vous pouvez trouver d'autres exemples de planification d'événements dans la documentation MySQL : http://dev.mysql.com/doc/refman/5.1/en/create-event.html

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn