Du kan prova att använda detta villkor:
WHERE date < DATE_SUB(NOW(), INTERVAL 7 DAY)
Så att hela SQL-skriptet ser ut så här:
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;
Men på ditt ställe skulle jag lösa det givna problemet med ett enkelt cron-skript. Skälen till att göra detta är enkla:det är lättare att underhålla koden, inga fula SQL-lösningar, integreras smidigt med ditt system.