sql >> Base de Datos >  >> RDS >> PostgreSQL

Escapar nombres de columnas similares a palabras clave en Postgres

Simplemente incluya year entre comillas dobles para evitar que se interprete como una palabra clave:

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

De la documentación:

Existe un segundo tipo de identificador:el identificador delimitado o identificador entrecomillado. Se forma encerrando una secuencia arbitraria de caracteres entre comillas dobles ("). Un identificador delimitado siempre es un identificador, nunca una palabra clave. Por lo tanto, "seleccionar" podría usarse para referirse a una columna o tabla denominada "seleccionar", mientras que select se tomaría como una palabra clave y, por lo tanto, provocaría un error de análisis cuando se usara donde se espera un nombre de tabla o columna.