我被要求使用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和我的语法有什么问题。我查看了文档,这看起来是正确的。
答案 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
,其数据类型与引用表中的数据类型相同。