Как добавить не пустой столбец в существующую таблицу в SQL Server 2005?
Добавить не null Столбец в существующей таблице в SQL
Ответ 1
Вам нужно либо указать DEFAULT, либо добавить столбец с допустимыми NULL, обновить все значения, а затем изменить столбец на NOT NULL.
ALTER TABLE <YourTable>
ADD <NewColumn> <NewColumnType> NOT NULL DEFAULT <DefaultValue>
Ответ 2
Выберите либо:
a) Создать не null с некоторым допустимым значением по умолчанию
б) Создать нуль, заполнить его, изменить на нуль
Ответ 3
Есть два способа добавить столбцы NOT NULL в таблицу:
-
ALTER таблицу, добавив столбец с ограничением NULL. Заполните столбец некоторыми данными. Ex: столбец можно обновить с помощью ''
-
ALTER table, добавив столбец с ограничением NOT NULL, указав значения DEFAULT. ALTER table TableName ADD NewColumn DataType NOT NULL DEFAULT ''
Ответ 4
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
Ответ 5
Самый простой способ сделать это:
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: Я не большой поклонник использования этого дизайнера таблиц. Его гораздо проще быть обычным/старомодным иногда.:). Надеюсь, это поможет ответить