Mysql
 sql >> Datenbank >  >> RDS >> Mysql

So löschen Sie einen MySQL-Eintrag nach einer bestimmten Zeit

Sie können es mit dieser Bedingung versuchen:

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

Damit das ganze SQL-Skript so aussieht:

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;

An deiner Stelle würde ich das gegebene Problem jedoch mit einem einfachen Cron-Skript lösen. Die Gründe dafür sind einfach:Es ist einfacher, den Code zu pflegen, es gibt keine hässlichen SQL-Workarounds, es lässt sich reibungslos in Ihr System integrieren.