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

Spezifische Verwendung des Node.js-Paketmanagers npm

Inhaltsverzeichnis Zweck npm init und package.jso...

So verwenden Sie jconsole zum Überwachen von Remote-Tomcat-Diensten

Was ist JConsole JConsole wurde in Java 5 eingefü...

Vue erzielt einen nahtlosen Karusselleffekt (Laufschrift)

In diesem Artikelbeispiel wird der spezifische Co...

Umgang mit Leerzeichen in CSS

1. Weltraumregeln Leerzeichen im HTML-Code werden...

Fallstudie zum Unterschied zwischen JavaScript parseInt() und Number()

Lernziele: Die beiden Funktionen parseInt() und N...

Reagieren Sie auf den nativen ScrollView-Pulldown-Aktualisierungseffekt

In diesem Artikel wird der spezifische Code des P...

Einige wunderbare Verwendungsmöglichkeiten von URL-Objekten in JavaScript

Inhaltsverzeichnis Vorwort Parameter analysieren ...

Ein wenig bekanntes JS-Problem: [] == ![] ist wahr, aber {} == !{} ist falsch

konsole.log( [] == ![] ) // wahr console.log( {} ...

Lösung zur Verwendung der Baidu-Freigabe auf der HTTPS-Seite

Seit der Aktivierung des https-Zugriffs für die g...