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

Échapper aux noms de colonnes de type mot-clé dans Postgres

Joignez simplement year entre guillemets doubles pour éviter qu'il ne soit interprété comme un mot-clé :

INSERT INTO table (id, name, "year") VALUES ( ... );

À partir de la documentation :

Il existe un deuxième type d'identifiant :l'identifiant délimité ou l'identifiant entre guillemets. Il est formé en plaçant une séquence arbitraire de caractères entre guillemets doubles ("). Un identifiant délimité est toujours un identifiant, jamais un mot clé. Ainsi, "select" peut être utilisé pour désigner une colonne ou une table nommée "select", alors qu'un identifiant sans guillemets select serait pris comme mot clé et provoquerait donc une erreur d'analyse lorsqu'il est utilisé là où un nom de table ou de colonne est attendu.