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"
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" )
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' );
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!