Heim > Datenbank > MySQL-Tutorial > Warum verursacht meine PostgreSQL-WHERE-IN-Klausel den Fehler „Spalte existiert nicht'?

Warum verursacht meine PostgreSQL-WHERE-IN-Klausel den Fehler „Spalte existiert nicht'?

DDD
Freigeben: 2024-12-22 03:30:11
Original
458 Leute haben es durchsucht

Why Does My PostgreSQL `WHERE IN` Clause Cause a

PostgreSQL: „Spalte existiert nicht“ Fehler in der WHERE IN-Abfrage (Liste)

Beim Versuch, Zeilen aus der Tabelle „user_job_titles“ in PostgreSQL mithilfe eines WHERE IN ( zu löschen list)-Klausel können Benutzer auf den folgenden Fehler stoßen:

ERROR:  column "c836d018-1d12-4507-a268-a4d80d6d3f54" does not exist
LINE 2: "c836d018-1d12-4507-a268-a4d80d6d3f54"
Nach dem Login kopieren

Dies tritt auf, wenn versucht wird, doppelte Anführungszeichen zu verwenden (") innerhalb der WHERE IN-Klausel, wie in der folgenden Abfrage gezeigt:

DELETE FROM user_job_titles WHERE id IN (
"c836d018-1d12-4507-a268-a4d80d6d3f54",
"d0961a90-7d31-4c4c-9c1b-671115e3d833",
"62dda420-6e62-4017-b41d-205c0aa82ead"
)
Nach dem Login kopieren

Die Lösung für diesen Fehler besteht darin, einfache Anführungszeichen (') um die Zeichenfolgenkonstanten in der WHERE IN-Klausel zu verwenden. Doppelte Anführungszeichen werden in PostgreSQL als Escape-Zeichen für Tabellen- und Spaltennamen verwendet und können daher nicht zum Einschließen von Zeichenfolgenliteralen verwendet werden.

Daher sollte die richtige Abfrage erfolgen sein:

DELETE FROM user_job_titles
WHERE id IN ('c836d018-1d12-4507-a268-a4d80d6d3f54',
             'd0961a90-7d31-4c4c-9c1b-671115e3d833',
             '62dda420-6e62-4017-b41d-205c0aa82ead'
            );
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWarum verursacht meine PostgreSQL-WHERE-IN-Klausel den Fehler „Spalte existiert nicht'?. 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage