加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

为什么我不能重新排序我的SQL Server列?

发布时间:2020-12-12 06:56:33 所属栏目:MsSql教程 来源:网络整理
导读:我有一张带有FK的旧桌子。我想添加一个新的列。我想把这个新的列我的主键。所以我以为我可以将该列插入第一个列,或将其插入到表的末尾,然后重新排序我的列。 但SQL Server Management Studio不允许我这样做。我明白我不能这样做,而且这个列顺序在SQL中几乎
我有一张带有FK的旧桌子。我想添加一个新的列。我想把这个新的列我的主键。所以我以为我可以将该列插入第一个列,或将其插入到表的末尾,然后重新排序我的列。

但SQL Server Management Studio不允许我这样做。我明白我不能这样做,而且这个列顺序在SQL中几乎完全不相关。

我想知道的是怎么来的…我的意思是,我可以放一列…不是添加新的一样吗?

我只是想了解发生了什么。我也很难找到文档。如果有人可以指出我的方向很好。

解决方法

您可能对 this question的答案感兴趣。

至于为什么你不能重新排列列(除了发布的SSMS特定答案之外),我不确定你会找到一个规范的答案,除了SQL标准不包含编程语法这样做 – 唯一的方法重新定义表的模式(包括其列的顺序)是删除表并重新创建它。所以提供列“重新排序”的任何管理应用程序很有可能在幕后进行(例如SSMS的设计视图,如链接的问题中所指出的)。

如果有明确的原因没有提供列重新排序机制作为标准DDL的一部分,那么有更深入了解SQL规范的人可能会与此相矛盾,但是我只能推测,因为查询定义了其结果集中的列的顺序,并且DBMSs根据其各自的实现来控制物理存储,逻辑列顺序基本上是无意义的,并且不保证这样的机制。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读