SQL中的字段如何设置为存在性互斥?
字段A如果是非空, 那么字段B就必须是空的, 反之字段B如果有值, 则字段A就要是空的, 请问怎么给表加这种互斥约束?
你可以尝试 SQL 中的 CHECK 约束来实现字段存在性互斥。
这段代码博主试一下:
CREATE TABLE my_table (
field_a VARCHAR(255),
field_b VARCHAR(255),
CHECK ((field_a IS NULL AND field_b IS NOT NULL) OR (field_a IS NOT NULL AND field_b IS NULL))
);
你这样搞很无厘头啊
好比一列叫男,一列叫女,要么男列是1,女列是空,要么女列是1,男列是空
那你搞一个字段叫性别,里面要么男要么女不香吗