Rumah >pangkalan data >tutorial mysql >Bagaimanakah Saya Boleh Menjadualkan Acara MySQL untuk Dijalankan Setiap Hari pada Masa Tertentu?

Bagaimanakah Saya Boleh Menjadualkan Acara MySQL untuk Dijalankan Setiap Hari pada Masa Tertentu?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-27 00:26:16583semak imbas

How Can I Schedule a MySQL Event to Run Daily at a Specific Time?

Melaksanakan Penjadual Acara MySQL pada Masa Tertentu Setiap Hari

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn