PostgreSQL-Benutzer stoßen häufig auf den Fehler „Postgres-Spalte „X“ existiert nicht“. Dies ist typischerweise darauf zurückzuführen, dass in einer SQL-Abfrage falsch auf eine Spalte verwiesen wird. Das Problem entsteht normalerweise dadurch, dass ein Zeichenfolgenwert als Spaltenname behandelt wird.
Die Lösung liegt darin, String-Literale in Ihren SQL-Anweisungen richtig in Anführungszeichen zu setzen. Zeichenfolgen, die Textdaten darstellen, erfordern einfache oder doppelte Anführungszeichen, um sie von Spalten- und Tabellennamen zu unterscheiden.
Hier ist ein korrigiertes Beispiel:
<code class="language-sql">INSERT INTO config_change_log (last_config_version, is_done, change_description) VALUES ('5837-2016-08-24_09-12-22', false, '{ ''key'':''value''}');</code>
Beachten Sie, dass „5837-2016-08-24_09-12-22“ jetzt korrekt in einfache Anführungszeichen gesetzt wird, wodurch es als Zeichenfolgenwert identifiziert wird.
Befolgen Sie diese Richtlinien beim Umgang mit String-Literalen in PostgreSQL:
'
). Zum Beispiel:<code class="language-sql">INSERT INTO config_change_log (change_description) VALUES ('This text contains a ''single'' quote.');</code>
oder
<code class="language-sql">INSERT INTO config_change_log (change_description) VALUES ("This text contains a 'single' quote.");</code>
Das obige ist der detaillierte Inhalt vonWarum erhalte ich in meiner PostgreSQL-Abfrage die Fehlermeldung „Postgres-Spalte „X' existiert nicht'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!