SQL冗余NOT NULL约束

时间:2012-03-04 12:03:59

标签: sql constraints

当我添加一些约束时,例如:

 create table Test(
  IDTest int primary key,
  Credit int not null constraint Credit check (Credit >= 0)
 );

在这种情况下,not null中的Credit不是冗余的,因为我添加了Credit必须大于0的约束?

1 个答案:

答案 0 :(得分:8)

不,这不是多余的。

如果条件不是CHECKFALSE约束会接受一个值,因此它是TRUE还是UNKNOWN

如果您的列中包含Null,则NULL >= 0将评估为UNKNOWN并将通过测试。