PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

La colonna 'foo' di PostgreSQL non esiste

Hai accidentalmente creato il nome della colonna con uno spazio finale e presumibilmente phpPGadmin ha creato il nome della colonna con virgolette intorno ad esso:

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

Questo ti darebbe una colonna che sembrava chiamata foo ovunque, ma dovresti citarlo due volte e includere lo spazio ogni volta che lo usi:

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

La migliore pratica consiste nell'utilizzare nomi di colonna senza virgolette minuscoli con PostgreSQL. Dovrebbe esserci un'impostazione in phpPGadmin da qualche parte che gli dirà di non citare gli identificatori (come i nomi di tabelle e colonne) ma purtroppo non uso phpPGadmin quindi non so dove si trova quell'impostazione (o anche se esiste).