1

我尝试使用 postgresql 查询创建一个表:

CREATE TABLE customer_account(ID_account integer primary key, customer_name (lastname) text);

但它给出了一条错误消息:

ERROR:  syntax error at or near "("
LINE 5: customer_name (lastname) text,

可能问题来自括号,我已经尝试过

CREATE TABLE customer_account("ID_account" primary key, "customer_name (lastname)" text);

但它也给了我类似的错误信息。

如何更正查询?我真的需要使用括号。

4

1 回答 1

1

使用" 起作用,但您缺少主键的数据类型:

CREATE TABLE customer_account
(
  "ID_account" integer primary key, 
             --^ here
  "customer_name (lastname)" text
);

在线示例


但我强烈建议您不要使用带引号的标识符。

从长远来看,它们会给您带来更多麻烦,那么它们是值得的。

我建议使用这样的东西:

CREATE TABLE customer_account
(
  account_id        integer primary key, 
  customer_lastname text
);

(“ID”作为前缀在英语中听起来很奇怪)

于 2020-08-10T13:29:46.007 回答