Heim > Datenbank > phpMyAdmin > Hauptteil

Lösen Sie die Probleme, auf die phpMyadmin beim Erstellen von Triggern für MySQL-Datentabellen stößt

藏色散人
Freigeben: 2021-05-22 16:54:43
nach vorne
3461 Leute haben es durchsucht

Die folgende Tutorial-Kolumne von phpmyadmin stellt Ihnen die Probleme vor, die bei der Verwendung von phpMyadmin beim Erstellen von Triggern für MySQL-Datentabellen auftreten. Ich hoffe, dass es für Freunde in Not hilfreich ist!

Lösen Sie die Probleme, auf die phpMyadmin beim Erstellen von Triggern für MySQL-Datentabellen stößt

Heute habe ich einen Trigger für die Tabelle in der MySQL-Datenbank erstellt. Der gewünschte Effekt ist: Nach dem Ändern des empfangenen Felds in Tabelle a wird gleichzeitig der RegisterStatus in Tabelle B auf 1 aktualisiert registerIP wird auf den Empfangswert geändert.

1. Schreiben Sie zuerst die SQL-Anweisung, um den Trigger zu erstellen:

1) Beim Einfügen:

CREATE TRIGGER insertref BEFORE INSERT ON a
 FOR EACH ROW BEGIN 
UPDATE b SET registerStatus =1 WHERE NEW.id = id and NEW.received is not null and NEW.received !='';
update b set registerIP=NEW.received where NEW.id = id;
end
Nach dem Login kopieren

2) Beim Löschen:

CREATE TRIGGER deleteref BEFORE DELETE ON a
 FOR EACH ROW begin
update b set registerStatus =0 WHERE OLD.id = id;
update  b set registerIP=NULL where OLD.id = id;
end
Nach dem Login kopieren

3) Beim Aktualisieren:

CREATE TRIGGER updateref  BEFORE UPDATE ON a
 FOR EACH ROW BEGIN 
update b set registerIP=NEW.received where OLD.id=id;
end
Nach dem Login kopieren

Frage 1:

Nach dem Schreiben ausführen Anweisung Wenn ein Fehler gemeldet wird und nicht ausgeführt werden kann, müssen Sie bei Verwendung von phpMyAdmin zum Erstellen eines Triggers

in das Trennzeichen am unteren Rand der SQL-Anweisungsseite eingeben und // eingeben.

Frage 2: Nach dem Einrichten des Triggers können beim Testen die Daten nicht in Tabelle a eingefügt werden und der Fehler wird gemeldet:

1558 - Column count of mysql.proc is wrong. Expected 20, found 16. Created with MySQL 50018, now running 50146. Please use mysql_upgrade to fix this error.
Nach dem Login kopieren

Es gibt viele Beiträge im Internet, die besagen, dass dies daran liegt, dass die Datenbank beschädigt wurde bereits aktualisiert, die Datenstruktur wurde jedoch nicht aktualisiert.

Lösung: Führen Sie sudo mysql_upgrade -u root -p aus, um zur Eingabe eines Passworts aufzufordern. Starten Sie die Datenbank neu. Anschließend können Sie Daten einfügen.

Das obige ist der detaillierte Inhalt vonLösen Sie die Probleme, auf die phpMyadmin beim Erstellen von Triggern für MySQL-Datentabellen stößt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:csdn.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!