使用postgreSQL创建表

时间:2017-03-02 06:23:12

标签: postgresql

我被要求使用PostgreSQL创建一个表并使用以下信息:

  

属性表应该包含:property_id(这应该是   主键以及增量的唯一数字   自动)名称单位数owner_id(这应该有   约束NOT NULL)应该还有一个外键   引用所有者表

我写了以下

apartmentlab=# CREATE TABLE properties (
apartmentlab(# PRIMARY KEY property_id SERIAL,
apartmentlab(# name TEXT,
apartmentlab(# num_of_units numeric,
apartmentlab(# FOREIGN KEY (owner_id) REFERENCES owners (owner_id) NOT NULL
apartmentlab(# );

我收到以下消息:

  

错误:“property_id”或附近的语法错误第2行:PRIMARY KEY   property_id SERIAL,

有人可以告诉我property_id和我的语法有什么问题。我查看了文档,这看起来是正确的。

1 个答案:

答案 0 :(得分:0)

PRIMARY KEY子句位于数据类型之后:

CREATE TABLE properties (
    property_id SERIAL PRIMARY KEY,
    name TEXT,
    num_of_units numeric,
    FOREIGN KEY (owner_id) REFERENCES owners (owner_id) NOT NULL
);

还要注意你在外键定义中的错误。您可能需要在表中定义字段owner_id,其数据类型与引用表中的数据类型相同。