【发布时间】:2018-06-17 16:08:05
【问题描述】:
我有两张桌子:
table1:
id bigserial not null,
value1 integer not null
table2:
id bigserial not null,
table1_id bigint not null,(FK)
value2 character varying not null,
value3 character varying,
我需要添加一些约束以确保当value3 不为空时,value3、value2 和table1.value1 的组合对于table2 应该是唯一的。我该怎么做?
【问题讨论】:
-
您的 Postgres 版本?而
table1.value1没有被定义为 UNIQUE? (table1.id显然需要 PK 或 UNIQUE 约束来允许 FK。)编写模式?table1是只读的吗? -
table1.value1 不是唯一的。 Table1.id 是一个 PK。 Postgres 9.4 版
-
请edit问题提供完整信息。评论不是地方。
标签: postgresql database-design foreign-keys constraints unique-constraint