SQL. Changes require the table to be recreated
-
20-04-2021 - |
Question
There is a table full which contains data. Is it possible to change field from [not null] to [null] without dropping and recreating it? SQL writes that table have to be dropped and recreated. :)
Solution
You can try:
alter table YourTable alter column YourColumn int null
Per Martin Smiths comment, a change in nullability does not require a copy of the table. On disk, each row has a nullabiltiy bitmap at the start. I thought the bitmap had to be resized in some cases, but apparently it contains a bit for each column, nullable or not nullable.
OTHER TIPS
Have you tried to use ALTER TABLE XXX ALTER COLUMN YYY YOURTYPE NULL
command?
This might help:
ALTER TABLE [Table] ALTER COLUMN [Column] [YourDataType] NULL
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow