在PostgreSQL中如何添加一个“one-out-of-two”的NOTNULL约束?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (19)

如果我在PostgreSQL中有一个表:

create table Education ( 
    id                  integer references Profiles(id),
    finished            YearValue not null,
    started             YearValue,
    qualification       text,
    schoolName          text,
    studiedAt           integer references Organizations(id),
    primary key (id)
);

我需要做一个约束,这样schoolNamestudiedAt需要不为NULL(其中之一必须在其中包含信息)。

我该怎么做?

提问于
用户回答回答于

还可以在UPDATE和INSERT上使用触发器来检查是否遵循规则,然后才允许数据进入表。当CHECK约束需要更复杂的逻辑时,通常使用这种方法。

用户回答回答于

扫码关注云+社区