Heim >Datenbank >MySQL-Tutorial >Warum zeigt meine PostgreSQL-DELETE-Abfrage den Fehler „Spalte existiert nicht' an?

Warum zeigt meine PostgreSQL-DELETE-Abfrage den Fehler „Spalte existiert nicht' an?

Susan Sarandon
Susan SarandonOriginal
2025-01-10 11:15:40712Durchsuche

Why Does My PostgreSQL DELETE Query Show a

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!

Stellungnahme:
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