Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Cách xóa bản ghi MySQL sau một thời gian nhất định

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.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hiệu suất MYSQL HOẶC so với IN

  2. mysql kiểm tra xem các số có trong danh sách được phân tách bằng dấu phẩy không

  3. Bạn không thể chỉ định bảng đích để cập nhật trong mệnh đề FROM

  4. MySQL tham gia với mệnh đề where

  5. 1114 (HY000):Bảng đã đầy