Ответ 1
Вам нужно либо указать DEFAULT, либо добавить столбец с допустимыми NULL, обновить все значения, а затем изменить столбец на NOT NULL.
ALTER TABLE <YourTable>
ADD <NewColumn> <NewColumnType> NOT NULL DEFAULT <DefaultValue>
Как добавить не пустой столбец в существующую таблицу в SQL Server 2005?
Вам нужно либо указать DEFAULT, либо добавить столбец с допустимыми NULL, обновить все значения, а затем изменить столбец на NOT NULL.
ALTER TABLE <YourTable>
ADD <NewColumn> <NewColumnType> NOT NULL DEFAULT <DefaultValue>
Выберите либо:
a) Создать не null с некоторым допустимым значением по умолчанию
б) Создать нуль, заполнить его, изменить на нуль
Есть два способа добавить столбцы NOT NULL в таблицу:
ALTER таблицу, добавив столбец с ограничением NULL. Заполните столбец некоторыми данными. Ex: столбец можно обновить с помощью ''
ALTER table, добавив столбец с ограничением NOT NULL, указав значения DEFAULT. ALTER table TableName ADD NewColumn DataType NOT NULL DEFAULT ''
IF NOT EXISTS (SELECT 1
FROM syscolumns sc
JOIN sysobjects so
ON sc.id = so.id
WHERE so.Name = 'Table1'
AND sc.Name = 'Col1')
BEGIN
ALTER TABLE Table1
ADD Col1 INT NOT NULL DEFAULT 0;
END
GO
Самый простой способ сделать это:
ALTER TABLE db.TABLENAME ADD COLUMN [datatype] NOT NULL DEFAULT 'value'
Пример: добавление столбца x (тип данных бит) в таблицу ABC со значением по умолчанию 0
ALTER TABLE db.ABC ADD COLUMN x bit NOT NULL DEFAULT 0
PS: Я не большой поклонник использования этого дизайнера таблиц. Его гораздо проще быть обычным/старомодным иногда.:). Надеюсь, это поможет ответить