Heim > Datenbank > MySQL-Tutorial > Warum gibt Postgres „Spalte „5837-2016-08-24_09-12-22' existiert nicht' zurück und wie kann ich das Problem beheben?

Warum gibt Postgres „Spalte „5837-2016-08-24_09-12-22' existiert nicht' zurück und wie kann ich das Problem beheben?

Susan Sarandon
Freigeben: 2025-01-12 09:54:42
Original
261 Leute haben es durchsucht

Why does Postgres return

Behebung des PostgreSQL-Fehlers: „Spalte „5837-2016-08-24_09-12-22“ existiert nicht“

Wenn Sie auf diese Fehlermeldung stoßen, ist es wichtig zu beachten, dass Spaltennamen in doppelte Anführungszeichen gesetzt werden sollten, während Zeichenfolgenkonstanten in einfache Anführungszeichen gesetzt werden müssen. In diesem Fall trat der Fehler auf, weil der Wert „5837-2016-08-24_09-12-22“ fälschlicherweise für einen Spaltennamen und nicht für ein String-Literal gehalten wurde.

Um dieses Problem zu beheben, können Sie die SQL-Anweisung wie folgt korrigieren:

INSERT INTO config_change_log(last_config_version, is_done, change_description )
VALUES('5837-2016-08-24_09-12-22', false, '{ ''key'':''value''}');
Nach dem Login kopieren

Wenn Sie die Zeichenfolgenkonstante in einfache Anführungszeichen setzen, wird sie korrekt als Wert und nicht als Spaltenname erkannt.

Alternativ können Sie einfache Anführungszeichen in Ihren Daten umgehen, indem Sie sie verdoppeln, wie im folgenden Beispiel:

INSERT INTO config_change_log(last_config_version, is_done, change_description )
VALUES('5837-2016-08-24_09-12-22', false, '{ "key":"value"}');
Nach dem Login kopieren

Dieser Ansatz stellt sicher, dass einfache Anführungszeichen in der Spalte „change_description“ als Teil des Zeichenfolgenwerts interpretiert werden, anstatt einen Syntaxfehler zu verursachen.

Denken Sie daran, dass es immer empfohlen wird, einfache Anführungszeichen für Zeichenfolgenkonstanten und doppelte Anführungszeichen für Spaltennamen zu verwenden, um mögliche Konflikte zu vermeiden und eine korrekte Syntax sicherzustellen. Durch die Implementierung dieser Korrekturen sollten Sie in der Lage sein, Daten erfolgreich in Ihre PostgreSQL-Datenbank einzufügen, ohne dass Fehler „Spalte existiert nicht“ auftreten.

Das obige ist der detaillierte Inhalt vonWarum gibt Postgres „Spalte „5837-2016-08-24_09-12-22' existiert nicht' zurück und wie kann ich das Problem beheben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage