Postgres语法错误以供参考

时间:2017-10-03 09:11:25

标签: node.js postgresql

我正在尝试使用pg npm模块(v7)创建一个包含以下查询的表:

CREATE TABLE subscriptions(
    id SERIAL PRIMARY KEY,
    stripe_id VARCHAR(40) UNIQUE NOT NULL,
    user INTEGER REFERENCES users,
    plan VARCHAR(40) NOT NULL,
    active BOOLEAN NOT NULL,
    start DATE NOT NULL,
    end DATE DEFAULT NULL
  );

这似乎与文档相匹配,但它引发了一个错误:

 error: syntax error at or near "user"

users表有一个id的序列主键,有人知道为什么这不起作用吗?

修改:这是参考文档 - https://www.postgresql.org/docs/9.4/static/ddl-constraints.html#DDL-CONSTRAINTS-FK

我正在使用postgresql版本9.4。

1 个答案:

答案 0 :(得分:1)

user 是postgresql中的保留关键字。您可以在其位置使用任何其他列名称

请参阅postgresql文档以获取完整的关键字列表 - Key Words List

根据它, end 也是保留的。因此,代码的最后一行将生成错误