Heim >Datenbank >MySQL-Tutorial >Detaillierte Erklärung der MySQL-Trigger

Detaillierte Erklärung der MySQL-Trigger

怪我咯
怪我咯Original
2017-07-05 11:16:291464Durchsuche

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.

{ INSERT |.

DELETE } --Sie können auch die ausgelösten Ereignisse festlegen: Sie können während der Ausführung von Einfügen, Aktualisieren oder Löschen erfolgen mittlerer Auslöser.

EIN

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.

FOR EACH ROW

--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.

Beispiel


Beispiel1:

Tabelle Tab1 erstellen

Tabelle Tab2 erstellen
DROP 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 es
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;

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 es
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;

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn