Muhammd Aamir Ответов: 1

Как добавить новое поле в таблицу реляционной базы данных


Привет..
У меня есть реляционная база данных, в которой у меня есть таблица спроса. Теперь я хочу добавить еще одно поле в свою таблицу, но если я сниму флажок "Разрешить Null", то таблица сохранится, а если я поставлю флажок "Разрешить Null", то появится диалоговое окно, содержащее ошибку, как показано ниже..

Что я уже пробовал:

'Employees' table saved successfully
'Items' table saved successfully
'Demands' table
- Unable to modify table.  
Cannot insert the value NULL into column 'Purchased_Date', table 'Inventory_Aamir.dbo.Tmp_Demands'; column does not allow nulls. INSERT fails.
The statement has been terminated.


TITLE: Microsoft SQL Server Management Studio
------------------------------

User canceled out of save dialog
 (MS Visual Database Tools)

------------------------------
BUTTONS:

OK
------------------------------

Tomas Takac

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

1 Ответов

Рейтинг:
0

OriginalGriff

Когда вы добавляете столбец в таблицу, содержащую существующие данные, результирующая таблица должна быть согласованной: то, что делает SQL, - это эффективно создает новую таблицу, вставляет все старые записи, затем удаляет старую таблицу и переименовывает новую. Если ваши новые столбцы не могут принять нулевое значение, то вставка в новую таблицу завершается неудачей - поскольку SQL не имеет других данных для вставки в этот столбец, - поэтому сама операция "добавить столбец" не поддерживает согласованность БД.

Вам нужно либо разрешить нулевые значения для нового столбца, либо установить значение по умолчанию для столбца в разумное значение, чтобы SQL мог использовать его для существующих строк.