Du kan prøve at bruge denne betingelse:
WHERE date < DATE_SUB(NOW(), INTERVAL 7 DAY)
Så hele SQL-scriptet ser sådan ud:
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å dit sted ville jeg løse det givne problem med et simpelt cron-script. Grundene til at gøre dette er enkle:det er nemmere at vedligeholde koden, ingen grimme SQL-løsninger, integreres problemfrit med dit system.