如何解决SQL Server 2008:无法在中间位置插入新列并更改数据类型
|| 我的操作系统是Windows Server 2008。 我已经安装了SQL Server Express 2008。 我有几个问题: 我不能在中间位置插入新列。如果插入最后一个,则可以保存表格设计。 我可以更改列名,但不能更改数据类型。 我收到错误消息: 不允许保存更改。您所做的更改要求删除并重新创建下表。您已经对无法重新创建的表进行了更改,或者启用了“防止保存需要重新创建该表的更改”选项。 例: 我有ID,Name,Phone,
和Status
栏。我无法在Name
和Phone
之间加上Address
。
但是,如果我将Address
放在Status
之后,则可以添加。
有什么办法解决这个问题?
之前谢谢。
解决方法
在SSMS工具->选项->设计器中,您需要取消选中\“防止保存需要重新创建表的更改\”选项,以允许您在SSMS中执行此操作。
这将重建表,因此,如果表很大,通常就不值得麻烦,并且会使部署到生产环境变得更加棘手。
如果从逻辑上讲,您希望彼此相邻以方便编写查询,那么可以创建具有所需列顺序的View。
,列顺序在设计器或sys.columns中都无关紧要。
磁盘上的存储将相同,无论如何:在存储引擎内部-记录的剖析。
也没有性能优势。
,我认为不可能使用查询,但是您确实要使用SSMS的UI。右键单击选定的表,并在需要时插入列。
认为列顺序没关系。
,如果您要脚本执行此操作,您要做的就是将数据选择到临时表中,放下该表,以您喜欢的顺序用列重新创建它,然后以正确的顺序从临时表中重新插入数据。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。