Heim > Datenbank > MySQL-Tutorial > Warum erhalte ich beim Erstellen eines MySQL-Triggers zum Löschen aus einer Tabelle nach einem DELETE-Vorgang die Fehlermeldung „Check Syntax Near END on Line 6'?

Warum erhalte ich beim Erstellen eines MySQL-Triggers zum Löschen aus einer Tabelle nach einem DELETE-Vorgang die Fehlermeldung „Check Syntax Near END on Line 6'?

Mary-Kate Olsen
Freigeben: 2024-11-02 16:53:02
Original
237 Leute haben es durchsucht

Why Am I Getting a

MySQL-Trigger: Aus Tabelle NACH DEM LÖSCHEN löschen – Syntaxfehler und -auflösung

Beim Versuch, einen Trigger zum Löschen von Zeilen aus der Datei „patron_info“ zu erstellen '-Tabelle, nachdem eine Zeile aus der Tabelle 'Benutzer' gelöscht wurde, wird möglicherweise die Fehlermeldung „Überprüfen Sie die Syntax nahe ENDE in Zeile 6“ angezeigt. Dieser Fehler weist auf einen Syntaxfehler im Triggercode hin.

Der bereitgestellte Triggercode weist derzeit einen Syntaxfehler in der WHERE-Klausel der DELETE-Anweisung auf:

DELETE FROM patron_info
    WHERE patron_info.pid = patrons.id
Nach dem Login kopieren

Das Problem hierbei ist, dass die Der Trigger referenziert die Tabelle „patrons“ unter Verwendung des Alias ​​„patrons“, der nur innerhalb der BEGIN- und END-Blöcke des Triggers verfügbar ist. Um dieses Problem zu beheben, sollte die DELETE-Anweisung stattdessen auf den „alten“ Alias ​​verweisen, der die gelöschte Zeile aus der Tabelle „Benutzer“ darstellt:

DELETE FROM patron_info
    WHERE patron_info.pid = old.id
Nach dem Login kopieren

Mit dieser Korrektur sollte der Auslösercode jetzt lauten:

CREATE TRIGGER log_patron_delete AFTER DELETE on patrons
FOR EACH ROW
BEGIN
DELETE FROM patron_info
    WHERE patron_info.pid = old.id;
END
Nach dem Login kopieren

Außerdem ist es wichtig sicherzustellen, dass die DELETE-Anweisung mit einem Semikolon (;) endet, um die Anweisung zu beenden. Bei der Eingabe des Triggercodes in der Konsole sollten auch Trennzeichen verwendet werden, um die Triggergrenzen zu definieren.

Das obige ist der detaillierte Inhalt vonWarum erhalte ich beim Erstellen eines MySQL-Triggers zum Löschen aus einer Tabelle nach einem DELETE-Vorgang die Fehlermeldung „Check Syntax Near END on Line 6'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage