Gunakan dapat digunakan untuk itu
- Acara MySQL (IMHO kandidat terbaik)
- cron job atau Windows Task Scheduler (jika Anda menggunakan platform Windows)
Jika Anda menggunakan opsi 1, Anda perlu membuat acara
CREATE EVENT myevent
ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 HOUR DO
UPDATE myschema.mytable
SET mycol = mycol + 1;
Gunakan SHOW PROCESSLIST
untuk memeriksa apakah penjadwal acara diaktifkan. Jika ON
Anda akan melihat proses "Daemon" oleh pengguna "event_scheduler". Gunakan SET GLOBAL event_scheduler = ON;
untuk mengaktifkan penjadwal jika saat ini tidak diaktifkan. Selengkapnya tentang mengonfigurasi penjadwal acara di sini
.
Jika Anda ingin melihat acara yang Anda miliki di skema Anda
SHOW EVENTS;
PERBARUI Pernyataan pembaruan Anda akan terlihat seperti
UPDATE online_auctions
SET auction_status = 'ENDED'
WHERE auction_end_date < NOW();
Ini SQLFiddle demo