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 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:
|
>>: Sequentielles und zufälliges Schreiben auf Linux-Festplatten
Beim Importieren von Daten mit falscher MySQL-Zei...
1. Nach der Installation der Windows-Version von ...
MySQL-Einstellungscode für grüne Version und Fehl...
Vorwort Ich habe kürzlich an einigen Front-End-Pr...
Canal ist ein Open-Source-Projekt von Alibaba, da...
In CSS3 können mit der Transformationsfunktion vi...
Inhaltsverzeichnis Vorwort Erstellen Sie ein Vite...
1. Konfiguration Die ersten beiden sind standardm...
Inhaltsverzeichnis 1. Grundtypen 2. Objekttyp 2.1...
Im Allgemeinen : [1 wichtige Flagge] > [4 beson...
Inhaltsverzeichnis Überprüfung der Object.defineP...
Inhaltsverzeichnis Vorwort Was soll verwendet wer...
Wenn Docker einen Container erstellt, verwendet e...
Referenz: MySQL-Zeichensatzübersicht utf8mb4 wurd...
Inhaltsverzeichnis Vorwort Konvertierungsbeziehun...