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
Wenn nginx eine Anfrage empfängt, gleicht es zunä...
Inhaltsverzeichnis 1. Das Konzept des Filters 1. ...
Inhaltsverzeichnis Relativer Pfadsprung im Vue-Ro...
Vorwort Die Lösung für das Problem, dass Elemente...
Inhaltsverzeichnis 1. Überwachungseigenschaften a...
In diesem Artikel wird der spezifische JavaScript...
MySQL-Gruppensortierung, um die obersten N zu fin...
Rot und Pink und ihre Hexadezimalcodes. #990033 #...
In diesem Artikel werden die Installationsschritt...
In diesem Artikel finden Sie das Installations- u...
Eines Tages stellte ich fest, dass die Ausführung...
Bild herunterladen Docker-Pull MySQL:5.7 docker p...
Inhaltsverzeichnis 1. Der Ursprung der Gabel 2. F...
Nach der Eingabe von yum in Linux erscheint die E...
In diesem Artikel wird der spezifische Code von j...