Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como excluir um registro MySQL após um certo tempo


Você pode tentar usar esta condição:
WHERE date < DATE_SUB(NOW(), INTERVAL 7 DAY)

Para que todo o script SQL fique assim:
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;

No entanto, no seu lugar, eu resolveria o problema com um script cron simples. As razões para fazer isso são simples:é mais fácil manter o código, sem soluções alternativas de SQL feias, integra-se suavemente ao seu sistema.