PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Escapando nomes de colunas semelhantes a palavras-chave no Postgres


Basta incluir year entre aspas duplas para impedir que seja interpretado como uma palavra-chave:
INSERT INTO table (id, name, "year") VALUES ( ... );

Da documentação:

Existe um segundo tipo de identificador:o identificador delimitado ou identificador entre aspas. Ele é formado colocando uma sequência arbitrária de caracteres entre aspas duplas ("). Um identificador delimitado é sempre um identificador, nunca uma palavra-chave. Portanto, "selecionar" pode ser usado para se referir a uma coluna ou tabela chamada "selecionar", enquanto um sem aspas select seria usado como uma palavra-chave e, portanto, provocaria um erro de análise quando usado onde um nome de tabela ou coluna é esperado.