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:
|
<<: So stellen Sie DoNetCore mit Nginx in der Alibaba Cloud bereit
>>: Detaillierte Erklärung der Nodejs-Array-Warteschlange und der forEach-Anwendung
Ich habe „Patterns for Sign Up & Ramp Up“ vor ...
Inhaltsverzeichnis Vorwort Was ist VueUse Einfach...
Inhaltsverzeichnis Vorwort 1. MySQL Master-Slave-...
Mir war langweilig und plötzlich fiel mir die Impl...
In diesem Artikelbeispiel wird der spezifische Co...
Frage Als ich kürzlich ein praktisches Projekt mi...
Wenn Sie Docker unter Windows 10 installieren und...
Als ich die Bücher über Redis und Spring Cloud Al...
Vorwort innodb_data_file_path wird verwendet, um ...
Bei der Durchführung eines Projekts stößt man unw...
Öffnen Sie zunächst die virtuelle Maschine Öffnen...
1.1 Download des binären Installationspakets wget...
Inhaltsverzeichnis UNION Tabelleninitialisierung ...
<br /> Dieser Artikel wurde von Rachel Golds...
mysql kopiert eine Tabellenspalte in eine andere ...