【发布时间】:2011-12-04 09:24:00
【问题描述】:
我有一个 SQL 数据库表,其中有 35 条现有记录。此表中的字段之一称为Name、nvarchar(100)、not null
但是,由于最近的更改,我需要将此列设为可为空。
当我在 SQL Server Management Studio 中更改列以允许空值并保存更改时,我收到以下错误:
不允许保存更改。您所做的更改需要 以下表将被删除并重新创建
如何允许自动删除并重新创建它?
【问题讨论】:
我有一个 SQL 数据库表,其中有 35 条现有记录。此表中的字段之一称为Name、nvarchar(100)、not null
但是,由于最近的更改,我需要将此列设为可为空。
当我在 SQL Server Management Studio 中更改列以允许空值并保存更改时,我收到以下错误:
不允许保存更改。您所做的更改需要 以下表将被删除并重新创建
如何允许自动删除并重新创建它?
【问题讨论】:
我找到了解决方案。转到“工具 > 选项 > 设计器 > 表和数据库设计器”:
【讨论】:
这是 SSMS 中的设置。
工具 - 选项 - 设计器 - 防止保存需要重新创建表的更改
【讨论】:
我遇到了同样的问题;想要为以前不允许的列允许 Null。考虑 MS 的警告不要关闭此选项: http://support.microsoft.com/kb/956176
他们建议使用 Transact-SQL 来解决问题,例如 alter table MyTable alter column MyDate7 datetime NULL
这为我解决了。
【讨论】: