3

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

4

3 回答 3

5

你可以试试:

alter table YourTable alter column YourColumn int null

根据 Martin Smiths 的评论,可空性的更改不需要表的副本。在磁盘上,每一行的开头都有一个可空位图。我认为在某些情况下必须调整位图的大小,但显然它包含每一列的位,可以为空或不可为空。

于 2012-01-30T09:34:36.457 回答
1

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

于 2012-01-30T09:35:17.490 回答
1

这可能会有所帮助:

ALTER TABLE [Table] ALTER COLUMN [Column] [YourDataType] NULL
于 2012-01-30T09:36:16.707 回答