Bạn có thể thử sử dụng điều kiện này:
WHERE date < DATE_SUB(NOW(), INTERVAL 7 DAY)
Vì vậy, toàn bộ tập lệnh SQL trông giống như sau:
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;
Tuy nhiên, ở vị trí của bạn, tôi sẽ giải quyết vấn đề đã cho bằng một tập lệnh cron đơn giản. Lý do để làm điều này rất đơn giản:mã dễ bảo trì hơn, không có cách giải quyết SQL xấu xí nào, tích hợp trơn tru với hệ thống của bạn.