Ограничение SQL с избыточностью NOT NULL - PullRequest
6 голосов
/ 04 марта 2012

Когда я добавляю некоторые ограничения, например:

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

В этом случае не является избыточным not null в Credit, так как я добавляю ограничение, которое Credit должно быть больше 0?

1 Ответ

8 голосов
/ 04 марта 2012

Нет, оно не является избыточным.

Ограничение A CHECK принимает значение, если условие не FALSE, то есть, TRUE или UNKNOWN.

Если вы разрешите пустые значения в вашем столбце, NULL >= 0 оценивается как UNKNOWN и пройдет тест.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...