保存更改不被允许。您所做的更改需要删除并重新创建以下表。您已经对无法重新创建的表进行了更改或启用了防止保存需要重新创建表的更改选项。
为什么我必须重新创建表呢?我只是想将数据类型从smallint更改为real。
该表为空,并且我还没有使用它。
保存(不允许)对话框会警告您,由于所做的更改需要删除并重新创建列出的表格,因此不允许保存更改。
以下操作可能需要重新创建表格:
- 在表格中间添加新列
- 删除列
- 更改列的可空性
- 更改列的顺序
- 更改列的数据类型 <<<<
要更改此选项,请在工具菜单上,单击选项,展开设计器,然后单击表格和数据库设计器。 选择或清除防止保存需要重新创建表格的更改复选框。
另请参见
Colt Kwong博客文章:
在SQL 2008管理工具中不允许保存更改
如果您正在使用SSMS:
请转到菜单工具 >> 选项 >> 设计师,取消勾选防止保存需要表重新创建的更改
这个设置问题非常简单,只需要按照以下步骤进行操作即可,在5秒钟内解决。
为了允许您在修改表格后保存更改,请按照以下步骤进行 SQL 设置:
在顶部菜单中选择工具。
从下拉菜单中选择选项。现在你有一个弹出窗口,选择左侧菜单块上的设计师选项。取消选择防止保存需要重新创建表格的更改选项。单击“确定”按钮。
从此链接复制:
重要提示:我们强烈建议您不要通过关闭“防止需要重新创建表才能保存更改”选项来解决此问题。有关关闭此选项的风险的详细信息,请参见“详细信息”部分。
解决此问题的方法是使用Transact-SQL语句对表的元数据结构进行更改。有关详细信息,请参见SQL Server Books Online中的以下主题。
例如,要将名为MyTable的表中类型为datetime的MyDate列更改为接受NULL值,可以使用以下命令:
alter table MyTable alter column MyDate7 datetime NULL "