当我在SQL Server中创建一个表并保存它时,如果我尝试编辑表设计,比如将列类型从int更改为real,我会得到这个错误:

不允许保存更改。您所做的更改要求删除并重新创建下面的表。您对无法重新创建的表进行了更改,或者启用了防止保存需要重新创建表的更改的选项。

为什么我要重新创建表格?我只是想把一个数据类型从smallint改为real。

桌子是空的,我直到现在才用过。


当前回答

从此链接复制 “…重要事项:我们强烈建议您不要通过关闭“防止保存需要重新创建表的更改”选项来解决此问题。有关关闭此选项的风险的更多信息,请参阅“更多信息”部分。”

“…要解决此问题,请使用Transact-SQL语句对表的元数据结构进行更改。有关更多信息,请参阅SQL Server联机书籍中的以下主题

例如,要更改MyTable中datetime类型的MyDate列以接受NULL值,您可以使用:

修改表MyDate7为空

其他回答

从此链接复制 “…重要事项:我们强烈建议您不要通过关闭“防止保存需要重新创建表的更改”选项来解决此问题。有关关闭此选项的风险的更多信息,请参阅“更多信息”部分。”

“…要解决此问题,请使用Transact-SQL语句对表的元数据结构进行更改。有关更多信息,请参阅SQL Server联机书籍中的以下主题

例如,要更改MyTable中datetime类型的MyDate列以接受NULL值,您可以使用:

修改表MyDate7为空

点击位于顶部菜单的工具。 从下拉菜单中选择选项。你现在有一个弹出式选择设计师选项位于菜单的左手块。取消选中“防止保存需要重新创建表的更改”选项。点击OK按钮。

如果您使用sql server Management studio转到 工具>>选项>>设计器并取消勾选“防止保存需要重新创建表的更改” 这对我很有效

要更改“防止保存需要重新创建表的更改”选项,请执行以下步骤:

打开SQL Server Management Studio (SSMS)。 在“工具”菜单上,单击“选项”。

在“选项”窗口的导航窗格中,单击“设计器”。

选中或清除“防止保存需要重新创建表的更改”复选框,然后单击“确定”。

注意:如果禁用此选项,则在保存表时不会警告您所做的更改更改了表的元数据结构。在这种情况下,在保存该表时可能会导致数据丢失。

1)打开顶部的工具。 2)从Picklist中选择选项。 3)现在弹出窗口,你可以从左边的菜单列表中选择设计师选项。 4)现在防止保存更改,需要重新创建表。现在单击OK。