Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Menjadualkan Acara MySQL untuk Dijalankan Setiap Hari pada Masa Tertentu?
Bayangkan anda mempunyai pangkalan data dan perlu mengemas kini status rekod kepada "0" setiap hari pada pukul 1 petang. Berikut ialah pertanyaan yang mungkin terlintas di fikiran pada mulanya:
CREATE EVENT RESET ON SCHEDULE AT TIMESTAMP DO UPDATE `ndic`.`students` SET `status` = '0';
Tetapi pertanyaan itu menggunakan TIMESTAMP, yang tidak membenarkan penjadualan pada masa tertentu. Jadi, bagaimanakah kita boleh mencapai keputusan ini?
Jawapannya terletak pada kata kunci STARTS. Berikut ialah pertanyaan yang diubah suai yang melaksanakan acara setiap hari pada 1 tengah hari:
CREATE EVENT event_name ON SCHEDULE EVERY 1 DAY STARTS (TIMESTAMP(CURRENT_DATE) + INTERVAL 1 DAY + INTERVAL 1 HOUR) DO UPDATE `ndic`.`students` SET `status` = '0';
Pertanyaan ini memulakan acara pada (CURRENT_DATE 1 HARI 1 JAM) dan mengulanginya setiap 24 jam selepas itu. Ini memastikan acara dicetuskan pada pukul 1 petang setiap hari, seperti yang dikehendaki.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menjadualkan Acara MySQL untuk Dijalankan Setiap Hari pada Masa Tertentu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!