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

Cách TỰ ĐỘNG cập nhật MySQL sau khi trường dấu thời gian expierd

Sử dụng có thể sử dụng cho điều đó

  1. Sự kiện Mysql (IMHO là ứng cử viên tốt nhất)
  2. cron job hoặc Windows Task Scheduler (nếu bạn đang sử dụng nền tảng Windows)

Nếu chọn tùy chọn 1, bạn cần tạo sự kiện

CREATE EVENT myevent 
ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 HOUR DO 
UPDATE myschema.mytable 
   SET mycol = mycol + 1;

Sử dụng SHOW PROCESSLIST để kiểm tra xem bộ lập lịch sự kiện đã được bật chưa. Nếu nó ON bạn sẽ thấy một tiến trình "Daemon" của người dùng "event_scheduler". Sử dụng SET GLOBAL event_scheduler = ON; để bật bộ lập lịch nếu nó hiện chưa được bật. Tìm hiểu thêm về cách định cấu hình bộ lập lịch sự kiện tại đây .

Nếu bạn muốn xem các sự kiện mà bạn đã có trong giản đồ của mình

SHOW EVENTS;

CẬP NHẬT Tuyên bố cập nhật của bạn sẽ giống như

UPDATE online_auctions 
   SET auction_status = 'ENDED' 
 WHERE auction_end_date < NOW();

Đây là SQLFiddle bản demo




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Thêm thời gian trong PHP

  2. Làm cách nào để thoát% trong một truy vấn bằng cách sử dụng execute () và pymysql của python's sqlalchemy?

  3. Mysql + php với các ký tự đặc biệt như '(Apostrophe) và (Dấu ngoặc kép)

  4. Cấu hình MySQL đúng cho tệp Ruby on Rails Database.yml

  5. Làm cách nào để cắt bớt một bảng ràng buộc khóa ngoại?