无法在Postgres中创建特定列

时间:2015-12-07 06:27:03

标签: sql postgresql ddl

我在Postgres数据库中遇到以下问题。
我有表kart_user,我无法以用户
身份创建列 我收到了以下错误。

syntax error at or near "user" 

我可以创建其他列作为用户,usersss ...
我该如何解决这个问题?

1 个答案:

答案 0 :(得分:3)

user是保留字,因此需要引用:

create table kart_user
(
  id integer not null primary key,
  "user"  varchar(20)
);

但一般来说,您应该避免引用标识符并为列找到不同的名称。

有关手册中标识符语法的更多详细信息:
http://www.postgresql.org/docs/current/static/sql-syntax-lexical.html#SQL-SYNTAX-IDENTIFIERS

完整的关键字列表也可以在手册中找到:
http://www.postgresql.org/docs/current/static/sql-keywords-appendix.html

一旦定义了带引号的标识符,您必须 始终 引用列名:

insert into kart_user (user) values ('Arthur');