SQL中的字段如何设置为存在性互斥?

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,男列是空
那你搞一个字段叫性别,里面要么男要么女不香吗