Dieser Artikel veranschaulicht anhand von Beispielen die grundlegende Verwendung von MySQL-Triggern. Teilen Sie uns die Einzelheiten zu Ihrer Information mit: 1. MySQL-Trigger erstellen: 1. Syntax zum Erstellen von MySQL-Triggern:ERSTELLEN [DEFINER = { 'Benutzer' | AKTUELLER_BENUTZER }] TRIGGER Auslösername Auslösezeit Auslöseereignis ON Tabellenname FÜR JEDE REIHE [Auslösereihenfolge] Auslöser_Body 2. Erklärung der Schlüsselwörter in der MySQL-Erstellungssyntax:
3. ALT, NEU im Inhalt der Trigger-Ausführungsanweisung (trigger_body): In trigger_body können wir NEW verwenden, um anzugeben, dass neue Zeilen eingefügt werden sollen (entspricht
Da 4. MySQL-Trennzeichen (DELIMITER): MySQL verwendet standardmäßig ";" als Trennzeichen und die SQL-Anweisung wird übermittelt, wenn sie auf ";" stößt. Unser Trigger kann mehrere ";"-Zeichen enthalten. Um zu verhindern, dass die Trigger-Erstellungsanweisung vorzeitig übermittelt wird, müssen wir das MySQL-Trennzeichen vorübergehend ändern und es nach der Erstellung wieder zurückändern. Mit TRENNUNGSZEICHEN $ ... --Trigger-Erstellungsanweisung; $ --Senden Sie die Erstellungsanweisung; TRENNUNGSZEICHEN ; 2. Erweiterte MySQL-Trigger-Erstellung: 1. Verwenden von Variablen in MySQL-Triggern: In MySQL-Triggern werden Variablen mit '@' vorangestellt und können direkt ohne Definition verwendet werden: --Variablen-Direktzuweisungssatz @num=999; -- Verwenden Sie die Daten aus der Select-Anweisung, um einen Wert zuzuweisen. Klammern sind erforderlich: setze @name =(Name aus Tabelle auswählen); 2. Verwenden Sie die if-Anweisung im MySQL-Trigger, um eine bedingte Beurteilung vorzunehmen:-- Einfache if-Anweisung: setze Geschlecht = if (new.sex=1, 'männlich', 'weiblich'); --Mehrere bedingte if-Anweisungen: wenn old.type=1 dann Tabelle aktualisieren ...; sonstwenn alt.Typ=2 dann Tabelle aktualisieren ...; Ende wenn; 3. MySQL-Ansichtstrigger: Sie können die Auslöser mit „ - Zeigen Sie die Auslöser über die Tabelle information_schema.triggers an: Wählen Sie * aus information_schema.triggers; --mysql zeigt Trigger zum Anzeigen der aktuellen Datenbank an; -- MySQL zeigt Trigger von aiezu für die angegebene Datenbank „aiezu“ an; 4. MySQL-Löschtrigger: 1. Sie können den Trigger mit Drop Trigger löschen:Auslöser Auslösername löschen; 2. Prüfen Sie vor dem Löschen, ob der Trigger vorhanden ist:Trigger löschen, falls vorhanden, Triggername 5. Beispiele für die Verwendung von MSSQL-Triggern: 1. MySQL-Trigger Insert löst die Aktualisierung derselben Tabelle aus: Unten haben wir eine Tabelle „ Erstellen Sie eine Testtabelle und lösen Sie Folgendes aus: - Erstellen Sie eine Testtabelle, löschen Sie die Tabelle, falls tmp1 vorhanden ist. Erstellen Sie Tabelle tmp1 (n1 int, n2 int); -- Trigger erstellen DELIMITER $ Trigger löschen, falls vorhanden tmp1_insert$ Trigger tmp1_insert erstellen vor dem Einfügen auf tmp1 für jede Zeile beginnen setze neu.n2 = neu.n1*5; Ende$ TRENNUNGSZEICHEN ; Testen Sie den Effekt der Aktualisierung des Triggers: mysql> tmp1(n1)-Werte einfügen(18); Abfrage OK, 1 Zeile betroffen (0,01 Sek.) mysql> tmp1(n1)-Werte einfügen(99); Abfrage OK, 1 Zeile betroffen (0,00 Sek.) mysql> wähle * aus tmp1; +------+------+ | +------+------+ | 18 | 90 | | 99 | 495 | +------+------+ 2 Zeilen im Satz (0,00 Sek.) 2. MySQL-Trigger Update löst die Aktualisierung einer anderen Tabelle aus: Unten sind zwei Tabellen, tmp1 und tmp2, die beide denselben Erstellen Sie eine Testtabelle und lösen Sie Folgendes aus: - Erstellen Sie eine Testtabelle und fügen Sie die Testdaten-Drop-Tabelle ein, falls vorhanden: tmp1; Tabelle löschen, falls tmp2 vorhanden ist; Erstellen Sie Tabelle tmp1 (ID int, Name varchar(128)) Standard-Zeichensatz='utf8'; Erstellen Sie Tabelle tmp2 (fid int, Name varchar(128)) Standard-Zeichensatz='utf8'; in tmp1-Werte einfügen (1, „E-Mail“); in tmp2-Werte einfügen (1, „E-Mail“); -- Trigger erstellen DELIMITER $ Trigger löschen, falls vorhanden: tmp1_update$ Trigger tmp1_update erstellen nach dem Update auf tmp1 für jede Zeile beginnen Aktualisiere tmp2, setze Name=new.name, wobei fid=new.id; Ende$ TRENNUNGSZEICHEN ; Testen Sie den Effekt der Aktualisierung des Triggers: mysql> wähle * aus tmp1; +------+---------+ | Ich würde | Name | +------+---------+ | 1 | Liebe Grüße, E-Stamm | +------+---------+ 1 Zeile im Satz (0,00 Sek.) mysql> wähle * aus tmp2; +------+---------+ | Name | +------+---------+ | 1 | Liebe Grüße, E-Stamm | +------+---------+ 1 Zeile im Satz (0,00 Sek.) mysql> update tmp1 set name='aiezu.com' wobei id=1; Abfrage OK, 1 Zeile betroffen (0,00 Sek.) Übereinstimmende Zeilen: 1 Geändert: 1 Warnungen: 0 mysql> wähle * aus tmp1; +------+----------+ | Ich würde | Name | +------+----------+ | 1 | aiezu.com | +------+----------+ 1 Zeile im Satz (0,00 Sek.) mysql> wähle * aus tmp2; +------+----------+ | Name | +------+----------+ | 1 | aiezu.com | +------+----------+ 1 Zeile im Satz (0,00 Sek.) Leser, die an weiteren MySQL-bezogenen Inhalten interessiert sind, können sich die folgenden Themen auf dieser Site ansehen: „MySQL-Abfragekenntnisse“, „MySQL-Transaktionsoperationskenntnisse“, „MySQL-gespeicherte Prozedurkenntnisse“, „Zusammenfassung der Kenntnisse zu MySQL-Datenbanksperren“ und „Zusammenfassung der allgemeinen MySQL-Funktionen“. Ich hoffe, dass dieser Artikel für jedermann beim Entwurf einer MySQL-Datenbank hilfreich ist. Das könnte Sie auch interessieren:
|
<<: Aufbauprinzip des Nexus-Privatservers und Tutorial-Analyse
Inhaltsverzeichnis 1. Übersicht 2. nginx.conf 1) ...
Heutzutage gehört die Unterstützung von HTTPS für...
chmod-Befehlssyntax Dies ist die korrekte Syntax ...
In der Front-End-Entwicklung gibt es viele Möglic...
Die Umgebung dieses Artikels ist Windows 10 und d...
In diesem Artikelbeispiel wird der spezifische Co...
Standortausdruckstyp ~ bedeutet, dass ein regulär...
In diesem Artikel erfahren Sie, wie Sie Excel-Dat...
Der Grund dafür ist, dass dieser Webseitentyp auf ...
Inhaltsverzeichnis 1. Lernziele 1.1. Beherrschen ...
Inhaltsverzeichnis 1. Die Beziehung zwischen Redu...
Inhaltsverzeichnis Phänomen Ursachenanalyse Aufru...
Inhaltsverzeichnis Vorwort Grundlegende Konzepte ...
Inhaltsverzeichnis Join-Algorithmus Der Unterschi...
Inhaltsverzeichnis 1. Einleitung 2. Installation ...