我设置表
CREATE TABLE author (
id serial NOT NULL,
name character varying(255) NOT NULL,
orcid character varying(128) NOT NULL,
"position" integer NOT NULL,
CONSTRAINT author_pkey PRIMARY KEY (id )
);
为什么"position"
名称包含""
?
如何从""
删除position
?
答案 0 :(得分:1)
实际上,position
是
非保留(不能是功能或类型)
我指的是list of reserved words in the manual。你看到的很可能是pgAdmin
的输出(你应该提到的)。 pgAdmin还根据任何SQL标准引用作为保留字的标识符 - 对于position
都是如此。
因此,此语句在语法上是正确的:
SELECT position FROM author LIMIT 1;
当然,你可以总是双引号标识符,这也可行:
SELECT "position" FROM author LIMIT 1;
但是对于这样的陈述,你会需要双引号:
SELECT "where" FROM author LIMIT 1;
SELECT "CaMeL" FROM author LIMIT 1;
SELECT "a-b-c" FROM author LIMIT 1;