0

我摆桌子

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

4

1 回答 1

1

根据手册position

非保留(不能是函数或类型)

它是标准 SQL 中的保留字。您看到的可能是pgAdmin在用作标识符时双引号 SQL 标准中的所有保留字的输出或某些其他客户端的输出。

这个语句在语法上是正确的:

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;
于 2012-10-22T04:18:01.887 回答