Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment supprimer un enregistrement MySQL après un certain temps

Vous pouvez essayer d'utiliser cette condition :

WHERE date < DATE_SUB(NOW(), INTERVAL 7 DAY)

Pour que l'ensemble du script SQL ressemble à ceci :

CREATE EVENT delete_event
ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 DAY
ON COMPLETION PRESERVE

DO BEGIN
      DELETE messages WHERE date < DATE_SUB(NOW(), INTERVAL 7 DAY);
END;

Cependant, à votre place, je résoudrais le problème donné avec un simple script cron. Les raisons de le faire sont simples :il est plus facile de maintenir le code, pas de solutions de contournement SQL laide, s'intègre facilement à votre système.