Můžete zkusit použít tuto podmínku:
WHERE date < DATE_SUB(NOW(), INTERVAL 7 DAY)
Aby celý SQL skript vypadal takto:
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;
Nicméně na vašem místě bych daný problém vyřešil jednoduchým cron skriptem. Důvody, proč to udělat, jsou jednoduché:je snazší udržovat kód, žádná nevzhledná řešení SQL, hladce se integruje do vašeho systému.