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

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

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

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


当前回答

这可以在Microsoft SQL Server中轻松更改。

打开Microsoft SQL Server Management Studio 2008 点击工具菜单 点击选项 选择设计师 取消勾选“防止保存需要重新创建表的更改” 单击OK

其他回答

从“工具”菜单中,单击“选项”,从侧菜单中选择“设计器”,并取消勾选防止可能导致重新创建表的更改。然后保存更改

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

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

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

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

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

这是非常容易和简单的设置问题,可以在5秒内通过以下步骤解决

为了允许您在更改表后保存更改,请按照以下步骤进行sql设置:

打开Microsoft SQL Server Management Studio 2008 单击“工具”菜单选项,然后单击“选项” 选择设计师 取消选中“防止保存需要重新创建表的更改”选项 单击OK 试着改变一下你的桌子 您的更改将按预期执行

取消选中“工具►选项►设计器”页签中的“防止保存需要重新创建表的更改”框。

SQL Server 2012示例:

实际上,您被SSMS阻止,而不是SQL Server。

解决方案是更改SSMS的设置或使用SQL查询。

使用SQL查询,您可以自由地进行更新。 例如,你想在一个表中添加一个新列,你可以这样做:

ALTER TABLE Customers ADD Email varchar(255) NOT NULL DEFAULT 'OK'

其他选项是更改SSMS设置。请参考其他答案,因为许多人已经解释了它。