Tutorial zum Deaktivieren und Aktivieren von Triggern in MySQL [Empfohlen]

Tutorial zum Deaktivieren und Aktivieren von Triggern in MySQL [Empfohlen]

Bei der Verwendung von MySQL werden häufig Trigger eingesetzt, manchmal kann jedoch ein unsachgemäßer Einsatz zu Problemen führen. Gibt es eine Möglichkeit, das Aufrufen von Triggern zu steuern?
Wie der Name schon sagt, ist ein Trigger eine SQL-Anweisung, die unter bestimmten Bedingungen automatisch von der Datenbank aufgerufen wird. Der Trigger lehnt den manuellen Aufrufprozess ab und wird automatisch von der MySQL-Datenbank aufgerufen, was die Ausführung effizienter macht.

Wie deaktiviere ich den Auslöser?

1. Erstellen Sie zwei neue Tabellen:

Tabelle demo_1:

CREATE TABLE `demo_1` (
 `ID` int(11) NOT NULL AUTO_INCREMENT COMMENT 'Primärschlüssel',
 `STUNAME` varchar(32) DEFAULT NULL KOMMENTAR 'Name',
 `ALTER` tinyint(4) STANDARD NULL KOMMENTAR 'Alter',
 PRIMÄRSCHLÜSSEL (`ID`)
) ENGINE=InnoDB AUTO_INCREMENT=14 DEFAULT CHARSET=utf8;

Tabelle: demo_2

CREATE TABLE `demo_2` (
 `ID` int(11) NOT NULL AUTO_INCREMENT COMMENT 'Primärschlüssel',
 `STU_ID` int(11) DEFAULT NULL COMMENT 'Studenten-ID',
 `MATH` doppelter DEFAULT NULL KOMMENTAR 'Punktzahl',
 PRIMÄRSCHLÜSSEL (`ID`)
) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8;

2. Erstellen Sie dann einen Trigger für demo_1

TRIGGER LÖSCHEN, WENN `insertTragger` VORHANDEN ist;
TRENNUNGSZEICHEN ;;
ERSTELLEN SIE DEN TRIGGER `insertTragger` NACH DEM INSERT AUF `demo_1` FÜR JEDE ZEILE begin
Wählen Sie ID INTO @v1 aus Demo_1, sortiert nach ID-Abstiegslimit 1;
In demo_2(STU_ID, MATH) Werte(@v1, 98.5) einfügen;
Ende
;;
TRENNUNGSZEICHEN ;

3. Der Auslöser ist: Wenn ein Datenelement in demo_1 hinzugefügt wird, wird automatisch ein Datenelement in demo_2 hinzugefügt.

4. Aber ich möchte den Trigger nicht jedes Mal auslösen, wenn Daten eingegeben oder ausgegeben werden. Ich möchte, dass er nur dann ausgelöst wird, wenn ich es möchte.

Schreiben Sie den Auslöser neu:

TRIGGER LÖSCHEN, WENN `insertTragger` VORHANDEN ist;
TRENNUNGSZEICHEN ;;
ERSTELLEN SIE DEN TRIGGER `insertTragger` NACH DEM INSERT AUF `demo_1` FÜR JEDE ZEILE begin
wenn @enable_trigger = 1 dann
Wählen Sie ID INTO @v1 aus Demo_1, sortiert nach ID-Abstiegslimit 1;
In demo_2(STU_ID, MATH) Werte(@v1, 98.5) einfügen;
Ende wenn;
Ende
;;
TRENNUNGSZEICHEN ;

5. Anrufauslöser

Setzen Sie @enable_trigger als 1;
INSERT INTO demo_1(STUNAME , ALTER) VALUES('Xiao Qiang', 17);
Nach der Ausführung wird der Tabelle demo_1 ein Dateneintrag 2 Xiaoqiang17 hinzugefügt
Tabelle demo_2 fügt auch Daten 2 2 98,5 hinzu

6. Deaktivieren Sie den Auslöser

Setzen Sie @enable_trigger als 0 fest.
INSERT INTO demo_1(STUNAME , ALTER) VALUES('Xiao Qiang', 17);
Nach der Ausführung:
Nach der Ausführung wird der Tabelle demo_1 ein Dateneintrag 2 Xiaoqiang17 hinzugefügt

Es werden keine Daten zur Tabelle demo_2 hinzugefügt

Das Obige löst das Problem des flexiblen Aufrufens von Triggern.

Zusammenfassen

Oben ist das Tutorial zum Deaktivieren und Starten von Triggern in MySQL, das ich Ihnen vorgestellt habe. Ich hoffe, es wird Ihnen hilfreich sein. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und ich werde Ihnen rechtzeitig antworten. Ich möchte auch allen für ihre Unterstützung der Website 123WORDPRESS.COM danken!

Das könnte Sie auch interessieren:
  • MySQL-Triggersyntax und Anwendungsbeispiele
  • Detaillierte Erläuterung der gespeicherten Prozedur „MySql View Trigger“
  • MySQL-Triggerprinzip und Analyse von Anwendungsbeispielen
  • Implementierungscode für den MySQL-Protokolltrigger
  • Beispiel für die MySQL-Triggeroperation „Hinzufügen“, „Löschen“, „Ändern“ und „Abfragen“
  • MySQL-Trigger: Beispielanalyse zum Erstellen mehrerer Trigger
  • MySQL-Trigger: Erstellen und Verwenden von Triggern
  • Einführung in MySQL-Trigger, Erstellen von Triggern und Analyse von Nutzungsbeschränkungen
  • Einfaches Beispiel für die Definition und Verwendung von MySQL-Triggern
  • Detaillierte Erklärung des Konzepts, Prinzips und der Verwendung von MySQL-Triggern
  • Detaillierte Erklärung der MySQL-Datenbank-Trigger

<<:  Detaillierte Erklärung der Funktionsklassifizierung und Beispiele für diese Zeigerfunktion in Javascript

>>:  Sequentielles und zufälliges Schreiben auf Linux-Festplatten

Artikel empfehlen

Vue-Routing - Methode zum Sprung relativer Pfade

Inhaltsverzeichnis Relativer Pfadsprung im Vue-Ro...

Vue-Überwachungseigenschaften und berechnete Eigenschaften

Inhaltsverzeichnis 1. Überwachungseigenschaften a...

Detaillierte Erklärung der MySQL-Gruppensortierung, um die Top N zu finden

MySQL-Gruppensortierung, um die obersten N zu fin...

Hexadezimale Farbcodes (vollständig)

Rot und Pink und ihre Hexadezimalcodes. #990033 #...

Installationshinweise zur komprimierten Version von MySQL 5.7.17

In diesem Artikel werden die Installationsschritt...

Tutorial zur Installation und Konfiguration von MySQL 5.7.16 ZIP-Paketen

In diesem Artikel finden Sie das Installations- u...

Tipps zur MySql-SQL-Optimierung teilen

Eines Tages stellte ich fest, dass die Ausführung...

Win10 Docker-Toolsbox-Tutorial zum Erstellen einer PHP-Entwicklungsumgebung

Bild herunterladen Docker-Pull MySQL:5.7 docker p...

Versteckter Overhead von Unix/Linux-Forks

Inhaltsverzeichnis 1. Der Ursprung der Gabel 2. F...

js realisiert Warenkorb-Add- und Subtraktions- sowie Preisberechnungsfunktionen

In diesem Artikel wird der spezifische Code von j...