So löschen Sie Datensätze in MySQL automatisch vor einer bestimmten Zeit

So löschen Sie Datensätze in MySQL automatisch vor einer bestimmten Zeit

Ü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:
  • Beispiel-Tutorial für geplante MySQL-Aufgaben
  • So implementieren Sie geplante MySQL-Aufgaben unter Linux
  • Verwenden von MySQL unter Windows: Implementieren automatischer zeitgesteuerter Sicherungen
  • Detaillierte Erläuterung der geplanten Ausführungsaufgaben für MySQL-Datenbankereignisse
  • Allgemeiner Hinweis zum MySQL-Ereignisplaner (unbedingt lesen)
  • Detaillierte Erklärung der Verwendung von Ereignissen in MySQL
  • Detaillierte Erläuterung der geplanten MySQL-Aufgaben (Ereignisereignisse)

<<:  Nginx-Proxy-Axios-Anforderung und Vorsichtsmaßnahmen

>>:  So verstehen Sie das Ref-Attribut von React genau

Artikel empfehlen

So bereinigen Sie regelmäßig Bilder, die über Jenkins „None“ sind

Vorwort Wenn beim kontinuierlichen Code-Delivery-...

Zusammenfassung der Befehle zur Benutzerverwaltung im Linux-System

Benutzer- und Gruppenverwaltung 1. Grundlegende K...

Ein Beispiel für das elegante Schreiben von Urteilen in JavaScript

Inhaltsverzeichnis Vorwort 1. Monadisches Urteil ...

Detailliertes Tutorial zur Installation von MySQL 8.0.20 auf CentOS7.8

1. MySQL-Software installieren Laden Sie das offi...

JavaScript implementiert einfaches Scrollfenster

In diesem Artikelbeispiel wird der spezifische Ja...

Einführung in die Verwendung der unbestimmten Eigenschaft des Kontrollkästchens

Wenn wir das Dialogfeld „Ordnereigenschaften“ in W...

Detaillierte Erklärung der Desktop-Anwendung mit Vue3 und Electron

Inhaltsverzeichnis Vue CLI erstellt ein Vue-Proje...

Zusammenfassung der CSS-Methoden zum Löschen von Floats

Float wird häufig im Layout von Webseiten verwend...

Problem mit der Kompilierung des Nginx RTMP-Moduls in der Arm-Version

Inhaltsverzeichnis 1. Vorbereitung: 2. Quellcode-...

Node.js versendet E-Mails basierend auf dem STMP-Protokoll und dem EWS-Protokoll

Inhaltsverzeichnis 1 Node.js-Methode zum Senden v...