Über Ereignisse: MySQL 5.1 hat begonnen, das Konzept von Ereignissen einzuführen. Ein Ereignis ist ein „Zeitauslöser“, der sich vom Ereignisauslöser von Auslösern unterscheidet. Ein Ereignis ähnelt der geplanten Linux-Crontab-Aufgabe und wird für die Zeitauslösung verwendet. Durch alleinige Verwendung oder den Aufruf einer gespeicherten Prozedur wird die zugehörige SQL-Anweisung oder gespeicherte Prozedur zu einem bestimmten Zeitpunkt ausgelöst. Löschen Sie zunächst die vor 2 Tagen aufgezeichneten SQL-Anweisungen (webserver_monitormemory ist der Tabellenname, time ist das Zeitfeld): Löschen aus webserver_monitormemory, wobei DATE(Uhrzeit) <= DATE(DATE_SUB(NOW(),INTERVAL 2 Tage)); Erstellen Sie eine gespeicherte Prozedur: TRENNUNGSZEICHEN // PROZEDUR ERSTELLEN autodel() -> BEGIN -> löschen aus webserver_monitormemory, wobei DATE(Uhrzeit) <= DATE(DATE_SUB(NOW(),INTERVAL 2 Tage)); -> ENDE -> // TRENNUNGSZEICHEN ; Erstellen Sie ein Ereignis und passen Sie die gespeicherte Prozedur an, die Autodel jeden Tag ausführt: EREIGNIS ERSTELLEN `event_auto_del_memorydata` JEDEN TAG PLANMÄSSIG BEGINNT '20.11.2017 00:00:00' BEI ABSCHLUSS NICHT BEIBEHALTEN, AKTIVIEREN, AUFRUFEN, autodel(); Es gibt 4 Möglichkeiten den Veranstaltungsplan (Scheduler) zu starten. Der Tastenwert 1 bzw. ON bedeutet „Ein“, 0 bzw. OFF bedeutet „Aus“: SETZEN SIE GLOBAL event_scheduler = 1; SET @@global.event_scheduler = 1; Setzen Sie den Event_Scheduler global auf ON. SETZEN Sie @@global.event_scheduler = EIN; Um zu prüfen, ob der Ereignisplan (Scheduler) aktuell aktiviert ist, haben Sie drei Möglichkeiten: VARIABLEN WIE „event_scheduler“ ANZEIGEN; Wählen Sie @@event_scheduler; PROZESSLISTE ANZEIGEN; Eröffnung und Abschluss der Veranstaltung: ALTER EVENT event_auto_del_memorydata ON COMPLETION PRESERVE ENABLE; //Ein Ereignis aktivieren ALTER EVENT event_auto_del_memorydata ON COMPLETION PRESERVE DISABLE; //Ein Ereignis deaktivieren Dies ist das Einfachste, aber auch das Wichtigste. Wir müssen den Timer manuell starten, sonst funktioniert er nicht. ALTER EVENT event_time_clear_data ON ABGESCHLOSSENHEIT BEWAHREN AKTIVIEREN; Darüber hinaus lautet der Code zum Ausschalten des Timers: ALTER EVENT event_time_clear_data ON ABSCHLUSS BEWAHREN DEAKTIVIEREN; Löschen Sie die gespeicherte Prozedur: DROP-VERFAHREN pro_clear_data; Ereignis löschen: Ereignis löschen, wenn vorhanden event_time_clear_data1 Zusammenfassen Oben ist die vom Herausgeber eingeführte Vorgehensweise zum automatischen Löschen von Datensätzen vor einer bestimmten Zeit unter MySQL. Ich hoffe, sie wird allen helfen. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Herausgeber wird Ihnen rechtzeitig antworten. Ich möchte auch allen für ihre Unterstützung der Website 123WORDPRESS.COM danken! Das könnte Sie auch interessieren:
|
<<: Nginx-Proxy-Axios-Anforderung und Vorsichtsmaßnahmen
>>: So verstehen Sie das Ref-Attribut von React genau
Inhaltsverzeichnis Globales Objekt Globale Objekt...
Warum habe ich das verwendet? Alles begann mit de...
Spezifische Methode: Öffnen Sie zuerst die Eingab...
<br /> Die Zugriffsgeschwindigkeit einer Web...
Inhaltsverzeichnis Was sind Refs 1. Referenzen vo...
Datenbank MySQL Version 8.0.18 Laden Sie eine DBe...
Auf dem Server läuft ein Taskprozess. Wenn wir ih...
Vorwort Beim Sichern der Datenbank wird eine voll...
serializable Serialisierung (kein Problem) Transa...
Der Test wird in der Node.JS-Umgebung bestanden. ...
Heute habe ich auf der Blog-Site shoptalkshow ges...
Frage: In einigen Browsern, wie zum Beispiel im K...
In MySQL können alle Felder der Typen char, varch...
Wenn der Benutzer sich abgemeldet hat und im Brows...
Bereits in den CSS2-Empfehlungen von 1998 verschwa...