Новый столбец со значением по умолчанию не устанавливается для старых записей - PullRequest
0 голосов
/ 04 марта 2020

Я создал новый столбец S_TEST и установил его значение по умолчанию 2 и сохранил таблицу, но, к сожалению, старые записи не были установлены автоматически, вместо этого они имеют значения NULL. Смотрите мои скриншоты.

Setting up the default value

Tried to query

1 Ответ

4 голосов
/ 04 марта 2020

Если вы добавляете новый столбец с не нулевым , тогда ограничение по умолчанию автоматически заполнит столбец значением по умолчанию для существующих строк.

Если вы добавите новый столбец, который nullable оператор DDL должен иметь опцию WITH VALUES для принудительной установки значений по умолчанию для существующих строк.

ALTER TABLE dbo.tab ADD Col int NULL DEFAULT 10 WITH VALUES ;
...