Heim >Datenbank >MySQL-Tutorial >Detaillierte Erklärung der MySQL-Trigger
Dieser Artikel stellt hauptsächlich die detaillierte Erklärung und einfache Beispiele von MySQL--Triggern vor Freunde in Not können sich auf
Einfache Beispiele für MySQL-Trigger
Syntax
TRIGGER ERSTELLEN c1cb6afc1caaf66e98518539943e32a0 --Der Trigger muss einen Namen haben, maximal 64 Zeichen, gefolgt von ein Trennzeichen. Es ähnelt im Wesentlichen der Benennungsmethode anderer Objekte in MySQL
{ VORHER | Zeiteinstellung: Sie kann vor oder nach dem Auftreten des -Ereignisses eingestellt werden.
2a59fb221d0bc3b07e1e43cec3d4767d --Der Auslöser gehört zu einer bestimmten Tabelle: wenn ein Einfügen, Aktualisieren oder Löschen für diese Tabelle durchgeführt wird Der Trigger wird während des Betriebs aktiviert. Wir können nicht zwei Trigger für dasselbe Ereignis in derselben Tabelle anordnen.
--Trigger-Ausführungsintervall: Die FOR EACH ROW-Klausel benachrichtigt den Trigger, jede zweite Zeile eine Aktion auszuführen, anstatt einmal für die gesamte Tabelle.
ffb9ba4d68330092578322ee075c1f1a Anweisungen unterliegen denselben Einschränkungen wie die -Funktion . --Sie müssen über umfangreiche Berechtigungen zum Erstellen eines Triggers verfügen (CREATE TRIGGER). Wenn Sie bereits Root-Benutzer sind, reicht das aus. Dies unterscheidet sich vom SQL-Standard.
Beispiel1:
Tabelle Tab1 erstellen
Tabelle Tab2 erstellenDROP TABLE IF EXISTS tab1; CREATE TABLE tab1( tab1_id varchar(11) );Trigger erstellen:
DROP TABLE IF EXISTS tab2; CREATE TABLE tab2( tab2_id varchar(11) );t_afterinsert_on_tab1
Funktion: Nach dem Hinzufügen des Tab1-Tabellendatensatzes wird der Datensatz automatisch zur Tab2-Tabelle hinzugefügt
Testen Sie esDROP TRIGGER IF EXISTS t_afterinsert_on_tab1; CREATE TRIGGER t_afterinsert_on_tab1 AFTER INSERT ON tab1 FOR EACH ROW BEGIN insert into tab2(tab2_id) values(new.tab1_id); END;Sehen Sie sich die Ergebnisse an
INSERT INTO tab1(tab1_id) values('0001');
SELECT * FROM tab1; SELECT * FROM tab2;Beispiel2:
Trigger erstellen: t_afterdelete_on_tab1
Funktion: Nach dem Löschen Der Tab1-Tabellendatensatz löscht automatisch die entsprechenden Datensätze in der Tab2-Tabelle
Testen Sie esDROP TRIGGER IF EXISTS t_afterdelete_on_tab1; CREATE TRIGGER t_afterdelete_on_tab1 AFTER DELETE ON tab1 FOR EACH ROW BEGIN delete from tab2 where tab2_id=old.tab1_id; END;Sehen Sie sich das Ergebnis an
DELETE FROM tab1 WHERE tab1_id='0001';
Das obige ist der detaillierte Inhalt vonDetaillierte Erklärung der MySQL-Trigger. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!