MySQL-Trigger: ausführliche Erklärung und einfaches Beispiel

MySQL-Trigger: ausführliche Erklärung und einfaches Beispiel

Einfaches Beispiel für einen MySQL-Trigger

Grammatik

CREATE TRIGGER <Triggername> - Trigger müssen einen Namen mit maximal 64 Zeichen haben, gefolgt von Trennzeichen. Die Benennung ist ähnlich wie bei anderen Objekten in MySQL.

{ VORHER | NACHHER } – Der Auslöser verfügt über eine Einstellung für die Ausführungszeit: Er kann vor oder nach dem Auftreten des Ereignisses festgelegt werden.

{ INSERT | UPDATE | DELETE } – Sie können auch die auslösenden Ereignisse festlegen: Sie können während der Ausführung von Einfügen, Aktualisieren oder Löschen ausgelöst werden.

ON <Tabellenname> --Der Trigger gehört zu einer bestimmten Tabelle: Wenn ein Einfüge-, Aktualisierungs- oder Löschvorgang für diese Tabelle ausgeführt wird, wird der Trigger aktiviert. Wir können nicht zwei Trigger demselben Ereignis für dieselbe Tabelle zuweisen.

FOR EACH ROW – Ausführungsintervall des Triggers: Die Klausel FOR EACH ROW weist den Trigger an, die Aktion in jeder zweiten Zeile auszuführen, und nicht einmal für die gesamte Tabelle.

< SQL-Anweisung auslösen > --Der Trigger enthält die auszulösende SQL-Anweisung: Die Anweisung hier kann jede zulässige Anweisung sein, einschließlich zusammengesetzter Anweisungen, aber für die Anweisungen hier gelten die gleichen Einschränkungen wie für Funktionen.

--Zum Erstellen eines Triggers (CREATE TRIGGER) müssen Sie über entsprechende Berechtigungen verfügen. Wenn Sie bereits Root-Benutzer sind, reicht dies aus. Dies weicht vom SQL-Standard ab.

Beispiele

Beispiel 1:

Tabelle tab1 erstellen

Tabelle löschen, wenn vorhanden: tab1;
Tabelle erstellen tab1(
  tab1_id varchar(11)
);

Tabelle tab2 erstellen

Tabelle löschen, wenn Tab2 vorhanden ist;
TABELLE ERSTELLEN tab2(
  tab2_id varchar(11)
);

Erstellen Sie einen Trigger: t_afterinsert_on_tab1

Funktion: Nach dem Hinzufügen von Datensätzen in der Tabelle tab1 werden die Datensätze automatisch zur Tabelle tab2 hinzugefügt

TRIGGER LÖSCHEN, WENN EXISTIERT: t_afterinsert_on_tab1;
TRIGGER ERSTELLEN t_afterinsert_on_tab1 
NACH INSERT ON tab1
FÜR JEDE REIHE
BEGINNEN
   in tab2(tab2_id) Werte(new.tab1_id) einfügen;
ENDE;

Testen Sie es

INSERT INTO tab1(tab1_id) Werte('0001');

Sehen Sie sich die Ergebnisse an

WÄHLEN SIE * AUS tab1;
WÄHLEN SIE * VON Tab2;

Beispiel 2:

Trigger erstellen: t_afterdelete_on_tab1

Funktion: Nach dem Löschen der Datensätze in der Tabelle tab1 werden die entsprechenden Datensätze in der Tabelle tab2 automatisch gelöscht.

TRIGGER LÖSCHEN, WENN EXISTIERT: t_afterdelete_on_tab1;
TRIGGER ERSTELLEN t_afterdelete_on_tab1
NACH DEM LÖSCHEN AUF Tab1
FÜR JEDE REIHE
BEGINNEN
   Löschen aus Tab2, wobei tab2_id = alt.tab1_id;
ENDE;

Testen Sie es

LÖSCHEN AUS tab1, WO tab1_id='0001';

Sehen Sie sich die Ergebnisse an

WÄHLEN SIE * AUS tab1;
WÄHLEN SIE * VON Tab2;

Vielen Dank fürs Lesen, ich hoffe, es kann Ihnen helfen, danke für Ihre Unterstützung dieser Site!

Das könnte Sie auch interessieren:
  • MySQL-Trigger-Verwendungsszenarien und Methodenbeispiele
  • MySQL-Triggerprinzip und Analyse von Anwendungsbeispielen
  • MySQL-Trigger: Beispielanalyse zum Erstellen mehrerer Trigger
  • Einfaches Beispiel für die Definition und Verwendung von MySQL-Triggern
  • Detailliertes Beispiel für die Verwendung von MySQL-Triggern
  • MySQL verwendet Trigger, um das Zeilenlimit der Tabelle in der Datenbank zu lösen. Detaillierte Erklärung und Beispiele
  • Beispiel-Tutorial zur Verwendung von MySQL-Triggern zum Migrieren und Synchronisieren von Daten
  • Eine kurze Zusammenfassung und Beispiele für MySQL-Trigger
  • Ein einfaches Beispiel und eine Einführung in MySQL-Trigger
  • Detaillierte Erklärung des MySQL-Triggerbeispiels

<<:  So stellen Sie DoNetCore mit Nginx in der Alibaba Cloud bereit

>>:  Detaillierte Erklärung der Nodejs-Array-Warteschlange und der forEach-Anwendung

Artikel empfehlen

Sammlung gemeinsamer DIV-Attribute

1. Immobilienliste Code kopieren Der Code lautet w...

Verwenden einer MySQL-Datenbank im Docker, um LAN-Zugriff zu erhalten

1. Holen Sie sich das MySQL-Image Docker-Pull MyS...

Erfahren Sie in 3 Minuten, wie Sie den Supervisor Watchdog verwenden

Software- und Hardwareumgebung centos7.6.1810 64b...

Detaillierte Einführung in die gespeicherten MySQL-Funktionen

Inhaltsverzeichnis 1. Erstellen Sie eine gespeich...

So installieren Sie Nginx in CentOS7 und konfigurieren den automatischen Start

1. Laden Sie das Installationspaket von der offiz...

So ändern Sie die Länge eines Eingabetextfelds entsprechend seinem Inhalt

Erste: Code kopieren Der Code lautet wie folgt: &l...

So fügen Sie schnell 10 Millionen Datensätze in MySQL ein

Ich habe gehört, dass es eine Interviewfrage gibt...

Tutorial zur Installation von jdk1.8 auf Ubuntu14.04

1. Laden Sie die JDK-Download-Adresse herunter我下載...

Detaillierte Erklärung zur Verwendung der vue3 Teleport-Sofortbewegungsfunktion

Die Verwendung der vue3 Teleport-Sofortbewegungsf...

Die Organisation W3C gibt Stilempfehlungen für HTML4

Dies ist die Stilempfehlung der W3C-Organisation f...

Beispiele und bewährte Vorgehensweisen für die Seitennummerierung

<br />Struktur und Hierarchie reduzieren die...

Befehle zum Deaktivieren und Aktivieren von MySQL-Fremdschlüsseleinschränkungen

Deaktivieren und Aktivieren von MySQL-Fremdschlüs...