PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

La colonne PostgreSQL 'foo' n'existe pas

Vous avez accidentellement créé le nom de la colonne avec un espace à la fin et probablement phpPGadmin a créé le nom de la colonne avec des guillemets doubles autour :

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

Cela vous donnerait une colonne qui ressemblait à s'appeler foo partout, mais vous devrez le mettre entre guillemets et inclure l'espace chaque fois que vous l'utiliserez :

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

La meilleure pratique consiste à utiliser des noms de colonnes en minuscules sans guillemets avec PostgreSQL. Il devrait y avoir un paramètre dans phpPGadmin quelque part qui lui dira de ne pas citer les identifiants (tels que les noms de table et de colonne) mais hélas, je n'utilise pas phpPGadmin donc je ne sais pas où se trouve ce paramètre (ou même s'il existe).