Heim >Datenbank >MySQL-Tutorial >Warum zeigt meine PostgreSQL-DELETE-Abfrage den Fehler „Spalte existiert nicht' an?
Lösung für den Fehler „Spalte existiert nicht“ in der PostgreSQL-DELETE-Abfrage
Beim Ausführen einer DELETE-Abfrage in PostgreSQL kann der Fehler „Spalte existiert nicht“ auftreten. Dieser Fehler wird normalerweise durch die Verwendung von doppelten und einfachen Anführungszeichen in der Abfrage verursacht.
Die Syntax einer DELETE-Abfrage umfasst die Angabe des Tabellennamens, gefolgt von einer WHERE-Klausel, um Datensätze basierend auf Bedingungen zu filtern. Für die von Ihnen angegebene Abfrage:
<code class="language-sql">delete from "Tasks" where id = "fc1f56b5-ff41-43ed-b27c-39eac9354323";</code>
Der Fehler liegt daran, dass PostgreSQL Werte in Anführungszeichen als Bezeichner (z. B. Tabellennamen, Spaltennamen) und nicht als Zeichenfolgenwerte interpretiert. Dies liegt daran, dass der Tabellenname „Tasks“ und der ID-Wert „fc1f56b5-ff41-43ed-b27c-39eac9354323“ in doppelte Anführungszeichen (") eingeschlossen sind.
Um dieses Problem zu lösen, sollte der ID-Wert in einfache Anführungszeichen (') eingeschlossen werden, was eine Zeichenkonstante darstellt. Dadurch wird PostgreSQL mitgeteilt, dass der Wert wörtlich zu nehmen ist.
Korrigierte Abfrage:
<code class="language-sql">delete from "Tasks" where id = 'fc1f56b5-ff41-43ed-b27c-39eac9354323';</code>
Durch die korrekte Verwendung von einfachen Anführungszeichen für den ID-Wert stellen Sie sicher, dass PostgreSQL ihn als Zeichenfolgenkonstante interpretiert, wodurch Fehler „Spalte existiert nicht“ vermieden und Löschabfragen erfolgreich ausgeführt werden.
Das obige ist der detaillierte Inhalt vonWarum zeigt meine PostgreSQL-DELETE-Abfrage den Fehler „Spalte existiert nicht' an?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!