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

Làm thế nào để tự động xóa mỗi x phút?

Bạn có thể sử dụng MySQL event Scheduler.

Điều kiện tiên quyết:

Bạn phải BẬT event_scheduler trong máy chủ mysql của mình.

Kiểm tra xem bộ lập lịch sự kiện có ON hay không hoặc OFF

SELECT @@event_scheduler;

Để BẬT event_scheduler ON chạy truy vấn sau:

SET GLOBAL event_scheduler = ON;

Lưu ý: Nếu bạn khởi động lại MYSQL Server thì trạng thái của bộ lập lịch sự kiện sẽ được đặt lại trừ khi phần sau được ghi trong tệp cấu hình.

Đối với Windows: trong my.ini ghi tệp này dưới [mysqld] phần

[mysqld]
event_scheduler=on

Đối với Linux: trong my.cnf tệp

[mysqld]
event_scheduler=on

Sự kiện:

Sự kiện sau sẽ xóa dữ liệu khỏi bảng có tên tablename .

CREATE 
EVENT `deleteEvent`
ON SCHEDULE EVERY 2 MINUTE STARTS '2016-03-23 00:00:00'
ON COMPLETION NOT PRESERVE
ENABLE
DO
DELETE FROM tablename;

Sự kiện sẽ được bắt đầu lần đầu tiên lúc '2016-03-23 00:00:00' và sau đó, sự kiện sẽ được lên lịch sau mỗi 2 phút và sẽ xóa dữ liệu khỏi bảng của bạn.

Bạn có thể sử dụng Truncate thay vì DELETE .

TRUNCATE so với DELETE >



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL chọn các hàng trên cùng với các giá trị điều kiện giống nhau

  2. Cách ghép nhiều giá trị nối từ nhiều bảng quan hệ trong một truy vấn mysql duy nhất

  3. câu lệnh If mySQL

  4. Làm thế nào để chuyển đổi thời gian sang múi giờ của thiết bị iPhone?

  5. Chèn dữ liệu bằng mysqli