某些字段的 PostgreSQL 约束
PostgreSQL constraints for some fields
我需要 table 中的所有三个字段同时为空,或者全部都不为空。怎么做?
谢谢。
您需要检查约束
alter table your_table
add constraint check_nulls
check (num_nonnulls(col1, col2, col3) in (0,3));
num_nonnulls
计算传递给它的非空值的数量。您的要求是要么全部为空(结果 = 0),要么全部不为空(结果 = 3)
我需要 table 中的所有三个字段同时为空,或者全部都不为空。怎么做? 谢谢。
您需要检查约束
alter table your_table
add constraint check_nulls
check (num_nonnulls(col1, col2, col3) in (0,3));
num_nonnulls
计算传递给它的非空值的数量。您的要求是要么全部为空(结果 = 0),要么全部不为空(结果 = 3)