我身边有SQL限制这个问题,以实现以下行为:SQL约束条件检查:如果column0为null,列1不为空,反之亦然
TableA中有两列 column0和COLUMN1,只一个可以为NULL数据录入: 如: 如果column0为null,COLUMN1不能为空 如果column1为NULL,column0不能为null
要做到这一点,我已经建立下列SQL约束:
CONSTRAINT column01_not_null_chk
CHECK (
(column0 IS NOT NULL
AND column1 IS NULL)
OR
(column1 IS NOT NULL
AND column0 IS NULL))
这是否正确实现我的行为?因为所有的SQL都因为这个约束的拒绝
哪个RDBMS是这样的?请添加一个标签来指定您是使用'mysql','postgresql','sql-server','oracle'还是'db2' - 或者其他的东西。 –
这不仅检查没有两个零位,这个强制只有一个null。 – iguypouf
@marc_s使用postgresql对不起 – shabang