Ein Trigger ist eine spezielle gespeicherte Prozedur, die die Ausführung beim Einfügen, Löschen oder Ändern von Daten in eine bestimmte Tabelle auslöst. Er verfügt über ausgefeiltere und komplexere Datenkontrollfunktionen als die Standardfunktionen der Datenbank selbst.
Es hat die folgenden Eigenschaften:
Überwachungsort: normalerweise der Tabellenname
Überwachungsereignis: Aktualisieren/Löschen/Einfügen
Auslösezeit: nach/ Vor
Trigger-Ereignis: Aktualisieren/Löschen/Einfügen
Es kann nicht direkt aufgerufen werden, es wird aktiv von der Datenbank ausgeführt.
Beispiel1:
Tabelle Tab1 erstellen
DROP TABLE IF EXISTS tab1; CREATE TABLE tab1( tab1_id varchar(11) );
Tabelle Tab2 erstellen
DROP TABLE IF EXISTS tab2; CREATE TABLE tab2( tab2_id varchar(11) );
Trigger erstellen: t_afterinsert_on_tab1
Funktion: Nachdem Sie die Datensätze in der Tabelle tab1 hinzugefügt haben, fügen Sie die Datensätze automatisch der Tabelle tab2 hinzu
DROP 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;
Testen Sie es
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 des Tab1-Tabellendatensatzes wird der entsprechende Datensatz in der Tab2-Tabelle automatisch gelöscht
DROP 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;
Testen Sie es
DELETE FROM tab1 WHERE tab1_id='0001';
SELECT * FROM tab1; SELECT * FROM tab2;
Das Obige ist der Inhalt von MySQL Advanced 8 – die Verwendung von Triggern und weitere verwandte Inhalte. Bitte beachten Sie die chinesische PHP-Website (www.php.cn)!