SQL. Изменения требуют пересоздания таблицы - PullRequest
3 голосов
/ 30 января 2012

Таблица заполнена данными.Можно ли изменить поле с [не ноль] на [ноль], не удаляя и не воссоздавая его?SQL пишет, что таблица должна быть удалена и воссоздана.:)

Ответы [ 3 ]

5 голосов
/ 30 января 2012

Вы можете попробовать:

alter table YourTable alter column YourColumn int null

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

1 голос
/ 30 января 2012

Это может помочь:

ALTER TABLE [Table] ALTER COLUMN [Column] [YourDataType] NULL
1 голос
/ 30 января 2012

Вы пытались использовать команду ALTER TABLE XXX ALTER COLUMN YYY YOURTYPE NULL?

...