小编典典

在 Postgres 中转义类似关键字的列名

all

如果 Postgres 表中的列具有 name year,应该如何查看INSERT查询来设置该列的值?

例如:在 年份INSERT INTO table (id, name, year) VALUES ( ... );附近给出错误。 __


阅读 178

收藏
2022-08-01

共1个答案

小编典典

只需year用双引号括起来即可阻止它被解释为关键字

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

文档中:

还有第二种标识符:分隔标识符或引用标识符。它是通过将任意字符序列括在双引号 (“)
中而形成的。分隔标识符始终是标识符,而不是关键字。因此“select”可用于引用名为“select”的列或表,而未引用的 select
将被视为关键字,因此在需要表或列名的地方使用时会引发解析错误。

2022-08-01