Beispiel für die MySQL-Triggeroperation „Hinzufügen“, „Löschen“, „Ändern“ und „Abfragen“

Beispiel für die MySQL-Triggeroperation „Hinzufügen“, „Löschen“, „Ändern“ und „Abfragen“

In diesem Artikel werden anhand von Beispielen die Hinzufügungs-, Lösch-, Änderungs- und Abfragevorgänge von MySQL-Triggern beschrieben. Teilen Sie uns die Einzelheiten zu Ihrer Information mit:

Nachdem wir einen Trigger erstellt haben, können wir seine Definition im Datenordner anzeigen, der die Triggerdefinitionsdatei enthält. Trigger werden als reine Textdateien in den folgenden Datenbankordnern gespeichert:

/Datenordner/Datenbankname/Tabellenname.trg

Wir können die Trigger auch anzeigen, indem wir die Trigger-Tabelle in der Datenbank information_schema wie folgt abfragen:

WÄHLEN 
  *
AUS
  information_schema.triggers
WO
  trigger_schema = "Datenbankname"
    UND Triggername = 'Triggername';

Mit dieser Anweisung können Sie den Inhalt eines Triggers und seine Metadaten anzeigen, beispielsweise den zugehörigen Tabellennamen und den Definierer (den Namen des MySQL-Benutzers, der den Trigger erstellt hat).

Wenn Sie alle Trigger in einer angegebenen Datenbank abrufen möchten, müssen Sie Daten aus der Trigger-Tabelle in der Datenbank information_schema mithilfe der folgenden SELECT-Anweisung abfragen:

WÄHLEN
  *
AUS
  information_schema.triggers
WO
  trigger_schema = "Datenbankname";

So finden Sie alle Trigger, die mit einer bestimmten Tabelle verknüpft sind:

WÄHLEN 
  *
AUS
  information_schema.triggers
WO
  trigger_schema = "Datenbankname"
    UND event_object_table = 'Tabellenname';

Schauen wir uns alle Trigger an, die mit der Mitarbeitertabelle verknüpft sind:

Wählen Sie * aus Informationsschema.Trigger
WHERE trigger_schema = 'Ihr Datenbankname'
    UND event_object_table = 'Mitarbeiter';

Eine weitere Möglichkeit, Trigger in einer bestimmten Datenbank anzuzeigen, ist die Verwendung der Anweisung SHOW TRIGGERS. Die Syntax lautet wie folgt:

TRIGGERS ANZEIGEN [FROM|IN] Datenbankname
[LIKE Ausdruck | WHERE Ausdruck];

Wenn Sie beispielsweise alle Trigger in der aktuellen Datenbank anzeigen möchten, können Sie die Anweisung SHOW TRIGGERS wie folgt verwenden:

AUSLÖSER ANZEIGEN;

Um alle Trigger in einer bestimmten Datenbank abzurufen, geben Sie den Datenbanknamen in der Anweisung SHOW TRIGGERS an. So können Sie beispielsweise alle Trigger in der Datenbank „luyaran“ abfragen, wie unten gezeigt:

AUSLÖSER VON Luyaran ANZEIGEN;

Um alle Trigger abzurufen, die einer bestimmten Tabelle zugeordnet sind, können Sie die WHERE-Klausel in der SHOW TRIGGERS-Anweisung verwenden. Die folgende Anweisung gibt alle Trigger zurück, die mit der Mitarbeitertabelle verknüpft sind:

AUSLÖSER VON luyaran ANZEIGEN
WO `Tabelle` = 'Mitarbeiter';

Beachten Sie hier, dass wir Backticks verwenden, um die Tabellenspalte zu umbrechen, da „table“ in MySQL ein reserviertes Schlüsselwort ist. Wenn Sie dann die Anweisung SHOW TRIGGERS ausführen, gibt MySQL die folgenden Spalten zurück:

  • Trigger: speichert den Namen des Triggers, z. B. „before_employee_update“-Trigger.
  • Ereignis: Gibt das Ereignis an, z. B. INSERT, UPDATE oder DELETE, das den Trigger aufgerufen hat.
  • Tabelle: Gibt die Tabelle an, mit der der Trigger verknüpft ist, z. B. die Mitarbeitertabelle.
  • Anweisung: Speichert die Anweisung oder zusammengesetzte Anweisung, die ausgeführt werden soll, wenn der Trigger aufgerufen wird.
  • Timing: Akzeptiert zwei Werte: VORHER und NACHHER, die den Aktivierungszeitpunkt des Auslösers angeben.
  • Erstellt: Zeichnet die Erstellungszeit auf, wenn der Trigger erstellt wird.
  • sql_mode: Gibt den SQL-Modus an, wenn der Trigger ausgeführt wird.
  • Definierer: Zeichnet das Konto auf, das den Auslöser erstellt hat.

Wir müssen hier beachten, dass wir zum Zulassen der obigen Anweisungen mindestens über das SUPER-Privileg verfügen müssen.

Versuchen wir nun, den vorhandenen Trigger mit der Anweisung DROP TRIGGER zu löschen:

DROP TRIGGER Tabellenname.Triggername;

Wenn Sie den mit der Mitarbeitertabelle verknüpften Trigger before_employees_update löschen möchten, können Sie die folgende Anweisung ausführen:

DROP TRIGGER Mitarbeiter.vor_Mitarbeiteraktualisierung;

Wenn wir einen Trigger ändern möchten, müssen wir ihn zuerst löschen und mit dem neuen Code neu erstellen. Da es in MySQL keine ALTER TRIGGER-Anweisung gibt, können wir Trigger nicht auf die gleiche Weise ändern wie andere Datenbankobjekte, z. B. Tabellen, Ansichten und gespeicherte Prozeduren.

Okay, das ist alles zu diesem Eintrag.

Leser, die an weiteren MySQL-bezogenen Inhalten interessiert sind, können sich die folgenden Themen auf dieser Site ansehen: „MySQL-Abfragekenntnisse“, „MySQL-Transaktionsoperationskenntnisse“, „MySQL-gespeicherte Prozedurkenntnisse“, „Zusammenfassung der Kenntnisse zu MySQL-Datenbanksperren“ und „Zusammenfassung der allgemeinen MySQL-Funktionen“.

Ich hoffe, dass dieser Artikel für jedermann beim Entwurf einer MySQL-Datenbank hilfreich ist.

Das könnte Sie auch interessieren:
  • Mit PHP auf die MySql-Datenbank zugreifen - logische Operationen und Beispiele zum Hinzufügen, Löschen, Ändern und Prüfen
  • PHP implementiert die objektorientierte mysqli-Erweiterungsbibliothek zum Hinzufügen, Löschen, Ändern und Abfragen von Operationstoolklassen
  • Ein einfaches Beispiel zum Hinzufügen, Löschen, Ändern und Überprüfen von PHP MySql
  • PHP+MySQL implementiert einfache Funktionen zum Hinzufügen, Löschen, Ändern und Abfragen
  • PHP + MySQL implementiert das Hinzufügen, Löschen, Ändern und Abfragen von Benutzern
  • Detaillierte MySQL-CRUD-Anweisungen zum Hinzufügen, Löschen, Ändern und Abfragen einer einzelnen Tabelle
  • Detaillierte Erläuterung des Ansichtsbeispiels zur MySQL-Ansichtsverwaltung [Hinzufügen-, Löschen-, Ändern- und Abfragevorgänge]
  • MySQL- und PHP-Grundlagen und -Anwendungen: Hinzufügen, Löschen, Ändern und Abfragen

<<:  Natives Javascript+CSS, um den Karusselleffekt zu erzielen

>>:  Tutorial zur Installation von Microsoft TrueType-Schriftarten auf Ubuntu-basierten Distributionen

Artikel empfehlen

Beispielanalyse zum Exportieren, Importieren und Kopieren von Docker-Images

Die erste Lösung besteht darin, das Bild in ein ö...

So fahren Sie nginx herunter/starten es neu

Schließung Dienst Nginx stoppen systemctl stoppt ...

JavaScript-Canvas zum Erzielen eines farbenfrohen Uhreffekts

Verwenden Sie Leinwand, um eine bunte Uhr zu schr...

Spezifische Verwendung zusammengesetzter CSS-Selektoren

Kreuzungsauswahl Der Schnittpunktselektor besteht...

Spezielle Methode zum Hinzufügen von Fremdschlüsseleinschränkungen in MySQL

Die Betriebsumgebung dieses Tutorials: Windows 7-...

Beispiel für die Implementierung einer eingebetteten Tabelle mit vue+elementUI

Während meines Praktikums im letzten Studienjahr ...

SQL IDENTITY_INSERT-Fallstudie

Wenn eine Spalte in einer Datentabelle einmal als...

Vue3.0 verwendet das Plug-In vue-grid-layout, um Drag-Layout zu implementieren

Inhaltsverzeichnis 1. Plugins 2. Zwischenspiel 3....

JS implementiert die Append-Funktion von jQuery

Inhaltsverzeichnis Zeig mir den Code Testen Sie d...

So vermeiden Sie die URL-Zeitzonenfalle in MySQL

Vorwort Wenn Sie MySQL 6.0.x oder höher (JAR) ver...

Unicode-Signatur-BOM-Problem (Byte Order Mark) für UTF-8-Dateien

Beim Debuggen einer chinesischen Zen Cart-Website...

Was ist COLLATE in MYSQL?

Vorwort Führen Sie den Befehl show create table &...

Detaillierte Erklärung zur Verwendung der Vue h-Funktion

Inhaltsverzeichnis 1. Verstehen 2. Verwendung 1. ...