Heim >Datenbank >MySQL-Tutorial >So erstellen Sie einen Trigger in MySQL
Um einen Trigger in MySQL zu erstellen, müssen Sie zuerst die Tabelle erstellen, die im Trigger gespeichert werden soll, dann den Zeitpunkt festlegen, zu dem der Trigger aktiviert wird, und schließlich auslösen, wenn die definierten Bedingungen erfüllt sind Führen Sie die in der Trigger-Sammlung definierten Aktionen aus
[Empfohlene Kurse: MySQL-Tutorial]
Trigger
Trigger ist eines der Datenbankobjekte von MySQL und erfordert eine Deklaration, Ausführung, usw. Die Ausführung eines Triggers wird jedoch nicht von einem Programm aufgerufen oder manuell gestartet, sondern durch Ereignisse ausgelöst und aktiviert, um die Ausführung zu erreichen. Etwas ähnlich zu Ereignissen im DOM.
Erstellung von Triggern
Die Syntax zum Erstellen eines Triggers lautet wie folgt:
CREATE <触发器名> < BEFORE | AFTER > <INSERT | UPDATE | DELETE > ON <表名> FOR EACH Row<触发器主体>
Grammatikanalyse
Triggername
bezieht sich auf den Triggernamen und ist in der Datenbank eindeutig (wenn er in einer bestimmten Datenbank erstellt wird, ist der Datenbankname erforderlich hinzugefügt werden)
INSERT | INSERT: Eine neue Zeile einfügen. Der Trigger wird aktiviert, wenn die Tabelle
DELETE: Der Trigger wird aktiviert, wenn eine Datenzeile aus der Tabelle gelöscht wird. UPDATE: Der Trigger wird aktiviert, wenn eine Datenzeile in der Tabelle geändert wirdVOR |. NACH
Der Moment, in dem der Auslöser ausgelöst wird, gibt an, ob der Auslöser vor oder nach der Anweisung ausgelöst wird, die ihn aktiviert. Wenn Sie überprüfen möchten, ob die neuen Daten die Bedingungen erfüllen, verwenden Sie die Option BEFORE. Wenn Sie mehrere oder mehr Änderungen durchführen möchten, nachdem die Anweisung ausgeführt wurde, die den Trigger aktiviert, verwenden Sie normalerweise die Option AFTER.Tabellenname
Der mit dem Trigger verknüpfte Tabellenname muss eine permanente Tabelle sein. Trigger können nicht mit temporären Tabellen oder Ansichten verknüpft werden. Der Trigger wird aktiviert, wenn ein Triggerereignis auf der Tabelle auftritt. Die gleiche Tabelle kann nicht zwei Trigger mit derselben Auslösezeit und demselben Ereignis enthalten.Trigger-Körper
Trigger-Aktionskörper, der die MySQL-Anweisung enthält, die ausgeführt wird, wenn der Trigger aktiviert wird. Wenn Sie mehrere Anweisungen ausführen möchten, können Sie die zusammengesetzte Anweisungsstruktur BEGIN…END verwenden.FÜR JEDE REIHE
bezieht sich auf das Auslösen auf Zeilenebene, und die Auslöseraktion muss für jede Zeile aktiviert werden, die vom auslösenden Ereignis betroffen ist.Hinweis
: Für dasselbe Triggerereignis kann zum selben Triggerzeitpunkt in derselben Tabelle nur ein Trigger definiert werden. Trigger können nur für permanente Tabellen erstellt werden, nicht für temporäre Tabellen.Beispiel: Erstellen Sie einen Trigger mit dem Namen double_salary
double_salary -> AFTER INSERT ON tb_emp1 -> FOR EACH ROW -> INSERT INTO tb_emp2 -> VALUES (NEW.id,NEW.name,deptId,2*NEW.salary); Query OK, 0 rows affected (0.25 sec)
Die Bedeutung des obigen Codes besteht darin, einen Double_salary-Trigger zu erstellen, und die Auslösebedingung lautet Nach dem Einfügen Geben Sie die Daten in die Datentabelle tb_emp1 ein, fügen Sie dieselben Daten in die Datentabelle tb_emp2 ein, und das Gehalt ist doppelt so hoch wie der Wert des neu eingefügten Gehaltsfelds in tb_emp1.
Zusammenfassung: Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, er wird für alle hilfreich sein.Das obige ist der detaillierte Inhalt vonSo erstellen Sie einen Trigger in MySQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!