我在Postgres数据库中遇到以下问题。
我有表kart_user,我无法以用户
身份创建列
我收到了以下错误。
syntax error at or near "user"
我可以创建其他列作为用户,usersss ...
我该如何解决这个问题?
答案 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');