Se a coluna da tabela do Postgres tiver o nome year
, como deve ser a INSERT
consulta para definir o valor dessa coluna?
Por exemplo: INSERT INTO table (id, name, year) VALUES ( ... );
dá um erro próximo à palavra do ano .
fonte
Se a coluna da tabela do Postgres tiver o nome year
, como deve ser a INSERT
consulta para definir o valor dessa coluna?
Por exemplo: INSERT INTO table (id, name, year) VALUES ( ... );
dá um erro próximo à palavra do ano .
Simplesmente coloque year
aspas duplas para impedir que seja interpretada como uma palavra - chave :
INSERT INTO table (id, name, "year") VALUES ( ... );
A partir da documentação :
Existe um segundo tipo de identificador: o identificador delimitado ou identificador entre aspas. É formado colocando-se uma sequência arbitrária de caracteres entre aspas duplas ("). Um identificador delimitado é sempre um identificador, nunca uma palavra-chave. Portanto," select "poderia ser usado para se referir a uma coluna ou tabela chamada" select ", enquanto que uma seleção não cotada seria usada como uma palavra-chave e, portanto, provocaria um erro de análise quando usada onde um nome de tabela ou coluna é esperado.
MyTable
,myTable
Emytable
são a mesma coisa. Com as aspas, essa dobra não é feita. Então"MyTable"
não é mais o mesmo quemytable
.update "user" set "password" = 'value...';
funciona perfeitamente bem ...Se você não estiver fornecendo cotações em nenhum campo / coluna, ele será minúsculo pelo Postgres por padrão. E o Postgres pulará a verificação da palavra-chave quando se trata do nome da coluna.
No seu caso, não acho obrigatório adicionar aspas no que diz respeito ao
columns
. Mas se você estiver usandokeywords
(registrado pelo Postgres) como o nomeTable
,Schema
,Function
ouTrigger
etc., você deve ter para usar aspas duplas, quer, ou você pode especificar o nome do esquema com concatenação de ponto.Vamos supor, order é a palavra-chave registrada pelo Postgres. E em alguns cenários, você deve usar essa palavra-chave como um nome de tabela.
Nesse momento, o Postgres permitirá que você crie uma tabela com
keywords
. Essa é a beleza do Postgres.Para acessar a tabela de pedidos, é necessário usar aspas duplas ou o nome do esquema antes do nome da tabela.
POR EXEMPLO
1
2)
Da mesma forma, você pode usar esse tipo de combinação. Espero que isso ajude você.
fonte