我有一个包含列 c1、c2、c3 和 c4 的表格,现在想要添加一个约束条件:
- 如果 c4 不为空,则 c1、c2、c3 都不能为 null。
- 否则,如果 c4 为空,则 c1、c2、c3 可选,但至少需要有一个字段不为空。
以下是我的 SQL 命令:
ADD CONSTRAINT quatereulchk CHECK(
(c1 IS NOT NULL AND c2 IS NOT NULL AND c3 IS NOT NULL AND c4 IS NOT NULL)
OR
(c4 IS NULL AND c1 IS NOT NULL OR c2 IS NOT NULL OR c3 IS NOT NULL)
);
我用pg_admin进行了测试,但约束条件没有生效。谢谢!