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
{ VORHER | Zeiteinstellung: Sie kann vor oder nach dem Auftreten des -Ereignisses eingestellt werden.
--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.
<
> 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.
Beispiel
Beispiel1:
Tabelle Tab1 erstellen
Tabelle Tab2 erstellenDROP TABLE IF EXISTS tab1; CREATE TABLE tab1( tab1_id varchar(11) );
DROP TABLE IF EXISTS tab2; CREATE TABLE tab2( tab2_id varchar(11) );
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;
INSERT INTO tab1(tab1_id) values('0001');
SELECT * FROM tab1; SELECT * FROM tab2;
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;
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!