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

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

藏色散人
藏色散人nach vorne
2021-05-22 16:54:433452Durchsuche

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

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

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

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.

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen