Sử dụng có thể sử dụng cho điều đó
- Sự kiện Mysql (IMHO là ứng cử viên tốt nhất)
- 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