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

Detailliertes Tutorial zur Offline-Installation von MySQL unter CentOS7

1. Löschen Sie die ursprüngliche MariaDB, sonst k...

Vue3 (III) Website Homepage Layout Entwicklung

Inhaltsverzeichnis 1. Einleitung 2. Tatsächliche ...

So verwenden Sie dl(dt,dd), ul(li), ol(li) in HTML

HTML <dl> Tag #Definition und Verwendung Da...

Detaillierte Erklärung zu Drag-Time und Drag-Case in JavaScript

Inhaltsverzeichnis DragEvent-Schnittstelle Übersi...

ElementUI implementiert kaskadierenden Selektor

In diesem Artikelbeispiel wird der spezifische Co...

Detaillierte Erklärung der Lösung für das zu langsame Docker-Compose

Es gibt nur eine Lösung: die Quelle ändern! Die Q...

CentOS 7.x Docker verwendet die Overlay2-Speichermethode

Bearbeiten Sie /etc/docker/daemon.json und fügen ...

Die Organisation W3C gibt Stilempfehlungen für HTML4

Dies ist die Stilempfehlung der W3C-Organisation f...

Mysql löst das N+1-Abfrageproblem der Datenbank

Einführung In Orm-Frameworks wie Hibernate und My...

Über gutes Design

<br />Auf zehntausend Personen, die die Frag...

Analyse der Verwendung des Linux-Schwachstellen-Scan-Tools lynis

Vorwort: Lynis ist ein Sicherheitsprüfungs- und H...