Подтвердить что ты не робот

Добавить не null Столбец в существующей таблице в SQL

Как добавить не пустой столбец в существующую таблицу в SQL Server 2005?

4b9b3361

Ответ 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: Я не большой поклонник использования этого дизайнера таблиц. Его гораздо проще быть обычным/старомодным иногда.:). Надеюсь, это поможет ответить