某些字段的PostgreSQL约束

时间:2020-07-29 09:01:00

标签: postgresql constraints

我需要表中的所有三个字段一次为空,或者所有都不为空。怎么做? 谢谢。

1 个答案:

答案 0 :(得分:2)

您需要检查约束

alter table your_table
   add constraint check_nulls
   check (num_nonnulls(col1, col2, col3) in (0,3));

num_nonnulls计算传递给它的非空值的数量。您的要求是要么全部都不为null(结果= 0),要么全部都不为null(结果= 3)

相关问题