sql >> Base de Datos >  >> RDS >> Mysql

Cómo eliminar un registro de MySQL después de cierto tiempo

Puedes intentar usar esta condición:

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

Para que todo el script SQL se vea así:

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;

Sin embargo, en su lugar, resolvería el problema dado con un simple script cron. Las razones para hacer esto son simples:es más fácil mantener el código, no hay soluciones alternativas desagradables de SQL, se integra sin problemas con su sistema.