小编典典

我需要对两列进行检查,至少有一个不能为null

sql

我在SQL Server中有一个带有两个数字列的表。必须至少填写这些数字字段之一。如何编写检查约束来验证这一点?


阅读 117

收藏
2021-04-19

共1个答案

小编典典

这可以通过检查约束来完成,该约束验证null值并将结果与​​或匹配

create table #t (i int
               , j int
               , constraint chk_null check (i is not null or j is not null))

以下是测试案例

insert into #t values (null, null) --> error
insert into #t values (1, null) --> ok
insert into #t values (null, 1) --> ok
insert into #t values (1, 1) --> ok
2021-04-19