【发布时间】:2017-11-19 17:12:37
【问题描述】:
我正在构建一个 SQL 数据库并遇到错误“关系‘性别’已经存在”。
对于发布类似问题的每个 SO 用户,我尝试过:注释掉约束以查看是否有干扰,将所有对串行/所有主键的引用更改为整数以匹配类型,删除所有表(如果存在) .无论我做什么,错误都是一样的,所以我已经发布了我的原始代码。对于这种情况下的问题,我真的可以使用一些指导。谢谢!
CREATE TABLE sexes (
id serial PRIMARY KEY,
string text NOT NULL
);
CREATE TABLE humans (
id serial PRIMARY KEY UNIQUE NOT NULL,
forename text NOT NULL,
surname text NOT NULL,
birthdate date,
sex_id integer REFERENCES sexes(id)
);
CREATE TABLE marriages (
id serial PRIMARY KEY UNIQUE NOT NULL,
partner_1_id integer REFERENCES humans(id),
partner_2_id integer REFERENCES humans(id),
marriage_date date NOT NULL,
divorce_date date NOT NULL,
CONSTRAINT divorced CHECK (marriage_date <= divorce_date),
CONSTRAINT marry_self CHECK (partner_1_id <> partner_2_id)
);
【问题讨论】:
标签: sql postgresql atom-editor