SQL:在两列上允许 NULL,但不能同时允许 NULL

Pau*_*cis 4 sql-server sql-server-2008

我有一个表,它只是一个包含两列的查找。

spiceId - INT
spiceDes - VARCHAR(100)
Run Code Online (Sandbox Code Playgroud)

现在,我将两列的列都设置为允许 NULL,但我想添加一个约束,即任何记录只有一列可以为 NULL。那是 spiceID 和 spiceDes 不能,两者都是 NULL。

如何添加此约束?

Zoh*_*led 6

用于在您的桌子上Alter table添加一个check constraint

ALTER TABLE tableName
ADD  CONSTRAINT CK_nulltest
CHECK (spiceId IS NOT NULL OR spiceDes IS NOT NULL);
Run Code Online (Sandbox Code Playgroud)