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

Detaillierte Erklärung zur Lösung des Problems zu langer Inhalte in CSS

Wenn wir CSS schreiben, vergessen wir manchmal di...

Implementierung eines einfachen Gobang-Spiels mit nativem JavaScript

In diesem Artikel finden Sie den spezifischen Cod...

Deaktivieren der AutoVervollständigen-Funktion im Eingabefeld

Jetzt können wir ein Eingabeattribut namens „Autov...

Neues CSS3-Layout: ausführliche Flex-Erklärung

Flex-Grundkonzepte Flex-Layout (Flex ist die Abkü...

Kennen Sie die Bedeutung von Sonderzeichen in URLs?

1.# # stellt eine Position auf einer Webseite dar...

Beispielcode zum Erstellen eines minimierten Header-Effekts nur mit CSS

Zusammengeklappte Kopfzeilen sind eine großartige...

JavaScript zur einfachen Verknüpfung von Provinzen und Gemeinden

In diesem Artikel wird der spezifische Code für J...

CSS zum Erzielen des Skeleton Screen-Effekts

Beim Laden von Netzwerkdaten wird zur Verbesserun...

Zusammenfassung der MySQL-Funktionsmethode LOAD_FILE()

In MySQL liest die Funktion LOAD_FILE() eine Date...