当我在SQL Server中创建一个表并保存它时,如果我尝试编辑表设计,比如将列类型从int更改为real,我会得到这个错误:
不允许保存更改。您所做的更改要求删除并重新创建下面的表。您对无法重新创建的表进行了更改,或者启用了防止保存需要重新创建表的更改的选项。
为什么我要重新创建表格?我只是想把一个数据类型从smallint改为real。
桌子是空的,我直到现在才用过。
当我在SQL Server中创建一个表并保存它时,如果我尝试编辑表设计,比如将列类型从int更改为real,我会得到这个错误:
不允许保存更改。您所做的更改要求删除并重新创建下面的表。您对无法重新创建的表进行了更改,或者启用了防止保存需要重新创建表的更改的选项。
为什么我要重新创建表格?我只是想把一个数据类型从smallint改为real。
桌子是空的,我直到现在才用过。
当前回答
这可以在Microsoft SQL Server中轻松更改。
打开Microsoft SQL Server Management Studio 2008 点击工具菜单 点击选项 选择设计师 取消勾选“防止保存需要重新创建表的更改” 单击OK
其他回答
如果在这样的列表中看不到“防止保存需要重新创建表的更改” 图像
您需要启用变更跟踪。
右键单击数据库,然后单击属性 单击更改跟踪并启用它 再次打开工具->选项->设计器,然后取消勾选。
实际上,您被SSMS阻止,而不是SQL Server。
解决方案是更改SSMS的设置或使用SQL查询。
使用SQL查询,您可以自由地进行更新。 例如,你想在一个表中添加一个新列,你可以这样做:
ALTER TABLE Customers ADD Email varchar(255) NOT NULL DEFAULT 'OK'
其他选项是更改SSMS设置。请参考其他答案,因为许多人已经解释了它。
防止保存需要重新创建表的更改 五声急促的咔哒声 工具 选项 设计师 防止保存需要重新创建表的更改 好的。 保存后,重复上述步骤,重新勾选复选框。这可以防止意外数据丢失。
进一步的解释
默认情况下,SQL Server Management Studio阻止表的删除,因为当一个表被删除时,它的数据内容就丢失了 在表设计视图中更改列的数据类型时,在保存更改时,数据库将在内部删除表,然后重新创建一个新表。
*您的具体情况不会造成任何后果,因为您的表是空的。我提供这个解释完全是为了提高您对这个过程的理解。
这可以在Microsoft SQL Server中轻松更改。
打开Microsoft SQL Server Management Studio 2008 点击工具菜单 点击选项 选择设计师 取消勾选“防止保存需要重新创建表的更改” 单击OK
1)打开顶部的工具。 2)从Picklist中选择选项。 3)现在弹出窗口,你可以从左边的菜单列表中选择设计师选项。 4)现在防止保存更改,需要重新创建表。现在单击OK。