确保至少一个外键不为空

时间:2016-10-05 00:31:12

标签: sql postgresql foreign-keys

我有一种情况,我必须确保我的一个外键不为空。在我的表中引用了2个外键,我想确保两者都不为空。至少其中一个应该有一个值。

如何对此应用检查声明?

我正在使用Postgresql。

谢谢,

1 个答案:

答案 0 :(得分:3)

使用check约束,例如:

create table tab3 (
    id int primary key, 
    id1 int references tab1,
    id2 int references tab2,
    check (id1 is not null or id2 is not null)
);