PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Die PostgreSQL-Spalte „foo“ existiert nicht

Sie haben den Spaltennamen versehentlich mit einem abschließenden Leerzeichen erstellt, und vermutlich hat phpPGadmin den Spaltennamen mit doppelten Anführungszeichen um ihn herum erstellt:

create table your_table (
    "foo " -- ...
)

Das würde Ihnen eine Spalte geben, die aussieht, als würde sie foo heißen überall, aber Sie müssten es doppelt anführen und das Leerzeichen einfügen, wann immer Sie es verwenden:

select ... from your_table where "foo " is not null

Die bewährte Methode besteht darin, mit PostgreSQL Spaltennamen ohne Anführungszeichen in Kleinbuchstaben zu verwenden. Es sollte irgendwo eine Einstellung in phpPGadmin geben, die es anweist, Kennungen (wie Tabellen- und Spaltennamen) nicht zu zitieren, aber leider verwende ich phpPGadmin nicht, also weiß ich nicht, wo sich diese Einstellung befindet (oder ob sie existiert).