Heim > Datenbank > MySQL-Tutorial > So erstellen Sie einen Trigger in MySQL

So erstellen Sie einen Trigger in MySQL

清浅
Freigeben: 2019-05-06 09:28:43
Original
6834 Leute haben es durchsucht

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

So erstellen Sie einen Trigger in MySQL

[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<触发器主体>
Nach dem Login kopieren

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 wird

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

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. So erstellen Sie einen Trigger in MySQL

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!

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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage