SQL。更改需要重新创建表

时间:2012-01-30 09:28:56

标签: sql-server sql-drop

有一个包含数据的表格。是否可以将字段从[not null]更改为[null]而不删除并重新创建它? SQL写道必须删除并重新创建表。 :)

3 个答案:

答案 0 :(得分:5)

您可以尝试:

alter table YourTable alter column YourColumn int null

Per Martin Smiths评论说,可修改性的变化不需要表格的副本。在磁盘上,每行在开始时都有nullabiltiy bitmap。我认为在某些情况下必须调整位图的大小,但显然每个列包含一些位,可以为空或可以为空。

答案 1 :(得分:1)

您是否尝试过使用ALTER TABLE XXX ALTER COLUMN YYY YOURTYPE NULL命令?

答案 2 :(得分:1)

这可能会有所帮助:

ALTER TABLE [Table] ALTER COLUMN [Column] [YourDataType] NULL