Heim > Datenbank > MySQL-Tutorial > Hauptteil

Detaillierte Erklärung der MySQL-Trigger

怪我咯
Freigeben: 2017-07-05 11:16:29
Original
1428 Leute haben es durchsucht

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

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

Trigger SQL-Anweisung

> 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)
);
Nach dem Login kopieren

Trigger erstellen:
DROP TABLE IF EXISTS tab2;
CREATE TABLE tab2(
  tab2_id varchar(11)
);
Nach dem Login kopieren
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;
Nach dem Login kopieren

Sehen Sie sich die Ergebnisse an
INSERT INTO tab1(tab1_id) values(&#39;0001&#39;);
Nach dem Login kopieren

SELECT * FROM tab1;
SELECT * FROM tab2;
Nach dem Login kopieren
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;
Nach dem Login kopieren

Sehen Sie sich das Ergebnis an
DELETE FROM tab1 WHERE tab1_id=&#39;0001&#39;;
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!