Heim >Datenbank >MySQL-Tutorial >Wie kann ich ein MySQL-Ereignis so planen, dass es täglich zu einer bestimmten Zeit ausgeführt wird?

Wie kann ich ein MySQL-Ereignis so planen, dass es täglich zu einer bestimmten Zeit ausgeführt wird?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-27 00:26:16583Durchsuche

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

MySQL Event Scheduler täglich zu einer bestimmten Zeit ausführen

Stellen Sie sich vor, Sie haben eine Datenbank und müssen den Status der Datensätze jeden Tag um 13 Uhr auf „0“ aktualisieren. Hier ist eine Abfrage, die Ihnen zunächst vielleicht in den Sinn kommt:

CREATE EVENT
RESET ON SCHEDULE AT TIMESTAMP DO
UPDATE `ndic`.`students`
SET `status` = '0';  

Aber diese Abfrage verwendet TIMESTAMP, was keine Planung zu einem bestimmten Zeitpunkt zulässt. Wie können wir also dieses Ergebnis erzielen?

Die Antwort liegt im Schlüsselwort STARTS. Hier ist eine modifizierte Abfrage, die das Ereignis jeden Tag um 13:00 Uhr ausführt:

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';

Diese Abfrage startet das Ereignis um (CURRENT_DATE 1 DAY 1 HOUR) und wiederholt es danach alle 24 Stunden. Dadurch wird sichergestellt, dass das Ereignis wie gewünscht jeden Tag um 13 Uhr ausgelöst wird.

Das obige ist der detaillierte Inhalt vonWie kann ich ein MySQL-Ereignis so planen, dass es täglich zu einer bestimmten Zeit ausgeführt wird?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn