По умолчанию столбцы в SQL принимают значения NULL
. И, если значение не указано в INSERT
, по умолчанию используется значение NULL
.
Когда вы объявляете значение DEFAULT
(«ограничение») для столбца, вы можете изменить вставленное значение, если оно не указано. Вы не объявили DEFAULT
, поэтому используется NULL
.
Тогда NOT NULL
предотвращает вставку значения NULL
. Таким образом, если значение не указано, будет использовано значение DEFAULT
. Однако без DEFAULT
произойдет ошибка - нарушение ограничения NOT NULL
.
Короче говоря, ваше определение делает то, что вы хотите.
Примечание. Триггеры могут влиять на эту функцию, поэтому в приведенном выше примере предполагается, что триггеры не используют значение в этом столбце.