Einfaches Beispiel für die Definition und Verwendung von MySQL-Triggern

Einfaches Beispiel für die Definition und Verwendung von MySQL-Triggern

Dieser Artikel beschreibt die Definition und Verwendung von MySQL-Triggern. Teilen Sie uns die Einzelheiten zu Ihrer Information mit:

Grammatik

CREATE TRIGGER Triggername - Ein Trigger muss einen Namen mit maximal 64 Zeichen haben, auf den Trennzeichen folgen können. Er wird ähnlich wie andere Objekte in MySQL benannt.
{ VORHER | NACHHER } – Der Auslöser verfügt über eine Einstellung für die Ausführungszeit: Er kann vor oder nach dem Auftreten des Ereignisses festgelegt werden.
{ INSERT | UPDATE | DELETE } – Sie können auch die auslösenden Ereignisse festlegen: Sie können während der Ausführung von Einfügen, Aktualisieren oder Löschen ausgelöst werden.
ON Tabellenname - Ein Trigger gehört zu einer bestimmten Tabelle: Wenn ein Einfüge-, Aktualisierungs- oder Löschvorgang für diese Tabelle ausgeführt wird, wird der Trigger aktiviert. Wir können nicht zwei Trigger demselben Ereignis für dieselbe Tabelle zuweisen.
FOR EACH ROW – Ausführungsintervall des Triggers: Die Klausel FOR EACH ROW weist den Trigger an, die Aktion in jeder zweiten Zeile auszuführen, und nicht einmal für die gesamte Tabelle.
< SQL-Anweisung auslösen > --Der Trigger enthält die auszulösende SQL-Anweisung: Die Anweisung hier kann jede zulässige Anweisung sein, einschließlich zusammengesetzter Anweisungen, aber für die Anweisungen hier gelten die gleichen Einschränkungen wie für Funktionen.

Beispielvorbereitung

-- Tabelle tab1 erstellen
Tabelle löschen, wenn vorhanden: tab1;
Tabelle erstellen tab1(
  tab1_id varchar(11)
);
-- Tabelle tab2 erstellen
Tabelle löschen, wenn Tab2 vorhanden ist;
TABELLE ERSTELLEN tab2(
  tab2_id varchar(11)
);

Beispiel 1: Das Hinzufügen eines neuen Eintrags löst das Hinzufügen einer weiteren Tabelle aus

-- Trigger erstellen: t_afterinsert_on_tab1
-- Wirkung: Nach dem Hinzufügen von Datensätzen zur Tabelle tab1 werden automatisch Datensätze zur Tabelle tab2 hinzugefügt. DROP TRIGGER IF EXISTS t_afterinsert_on_tab1;
TRIGGER ERSTELLEN t_afterinsert_on_tab1
NACH INSERT ON tab1
FÜR JEDE REIHE
BEGINNEN
   in tab2(tab2_id) Werte(new.tab1_id) einfügen;
ENDE;
- Testen Sie INSERT INTO tab1(tab1_id) values('0001');
-- Sehen Sie sich die Ergebnisse an: SELECT * FROM tab1;
Wählen Sie * aus Tab2

Beispiel 2: Das Löschen eines Eintrags löst das Löschen einer anderen Tabelle aus

-- Trigger erstellen: t_afterdelete_on_tab1
-- Wirkung: Nach dem Löschen der Datensätze in der Tabelle tab1 werden die entsprechenden Datensätze in der Tabelle tab2 automatisch gelöscht. DROP TRIGGER IF EXISTS t_afterdelete_on_tab1;
TRIGGER ERSTELLEN t_afterdelete_on_tab1
NACH DEM LÖSCHEN AUF Tab1
FÜR JEDE REIHE
BEGINNEN
   Löschen aus Tab2, wobei tab2_id = alt.tab1_id;
ENDE;
-- Testen Sie DELETE FROM tab1 WHERE tab1_id='0001';
-- Sehen Sie sich die Ergebnisse an. SELECT * FROM tab1;
WÄHLEN SIE * VON Tab2;

Beispiel 3: Aktualisieren Sie eine Zeile, um die Aktualisierung einer anderen Tabelle auszulösen

-- Trigger erstellen: t_afterupdate_on_tab1
-- Wirkung: Nach dem Ändern der Datensätze in der Tabelle Tab1 werden die entsprechenden Datensätze in der Tabelle Tab2 automatisch aktualisiert. DROP TRIGGER IF EXISTS t_afterupdate_on_tab1;
TRIGGER ERSTELLEN t_afterupdate_on_tab1
NACH DEM UPDATE AUF tab1
FÜR JEDE REIHE
BEGINNEN
   Aktualisiere Tab2, setze tab2_id=neue.tab1_id, wobei tab2_id=alte.tab1_id;
ENDE;
-- Testen Sie das Update tab1 und setzen Sie tab1_id='0002', wobei tab1_id='0001';
-- Sehen Sie sich die Ergebnisse an: SELECT * FROM tab1;
WÄHLEN SIE * VON Tab2;

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:
  • MySQL-Trigger-Verwendungsszenarien und Methodenbeispiele
  • MySQL-Triggerprinzip und Analyse von Anwendungsbeispielen
  • MySQL-Trigger: Beispielanalyse zum Erstellen mehrerer Trigger
  • Detailliertes Beispiel für die Verwendung von MySQL-Triggern
  • MySQL verwendet Trigger, um das Zeilenlimit der Tabelle in der Datenbank zu lösen. Detaillierte Erklärung und Beispiele
  • MySQL-Trigger: ausführliche Erklärung und einfaches Beispiel
  • Beispiel-Tutorial zur Verwendung von MySQL-Triggern zum Migrieren und Synchronisieren von Daten
  • Eine kurze Zusammenfassung und Beispiele für MySQL-Trigger
  • Ein einfaches Beispiel und eine Einführung in MySQL-Trigger
  • Detaillierte Erklärung des MySQL-Triggerbeispiels

<<:  Zusammenfassung der Datenspeicherstruktur des Nginx-HTTP-Moduls

>>:  Vollständiger Schrittbericht zur Vue-Kapselung allgemeiner Tabellenkomponenten

Artikel empfehlen

Preistabelle mit CSS3 implementiert

Ergebnis: Implementierungscode html <div id=&q...

MySQL 5.7.10 Installationsdokumentation Tutorial

1. Installieren Sie Abhängigkeitspakete yum -y in...

MySQL-Datentabellenpartitionierungsstrategie und Vor- und Nachteileanalyse

Inhaltsverzeichnis Warum brauchen wir Partitionen...

So installieren Sie MySQL und MariaDB in Docker

Beziehung zwischen MySQL und MariaDB Das Datenban...

Beispielcode zum Erstellen eines Dropdown-Menüs mit reinem CSS

Einführung: Als ich mir in letzter Zeit die Frage...

Javascript-Eingabebild-Upload und -Vorschau, FileReader-Vorschaubild

FileReader ist eine wichtige API für die Frontend...

Implementierungsbeispiel für ein JS-natives zweispaltiges Shuttle-Auswahlfeld

Inhaltsverzeichnis Verwendung Strukturzweige Code...

Verwenden von CSS3 zum Erzielen von Übergangs- und Animationseffekten

Warum sollten wir CSS-Animationen anstelle von JS...

Detaillierte Erklärung von :key in VUE v-for

Wenn der Schlüssel nicht zum v-for-Tag hinzugefüg...