Heim  >  Artikel  >  Datenbank  >  MySQL Advanced 8 – Verwendung von Triggern

MySQL Advanced 8 – Verwendung von Triggern

黄舟
黄舟Original
2016-12-29 16:42:471127Durchsuche

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');


Ergebnisse anzeigen
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';


und sehen Sie sich das Ergebnis an
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)!


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