【发布时间】:2014-12-12 05:11:14
【问题描述】:
我正在更改现有表以添加标识列。我能做到,没问题。
但我想确保以后看到它的人会看到它添加了身份列,所以我真的想将它设为第 1 列。我知道这对系统的操作完全无关紧要;仅供人类阅读。
有人知道这样做的方法吗?我查看了 Alter Table 和 column_definition 的 TSQL 语法,但什么也没看到;但我希望有人知道实现这一点的方法。
FWIW,这是一次性操作(但在许多服务器上,因此需要自动化),所以我不担心将来是否有任何“技巧”会消失——只要它有效现在。我们使用的是最新版本的 SQL Server Express。
感谢您的任何建议。
【问题讨论】:
-
您可以重命名当前表,创建一个与第一列具有相同架构和标识列的新表并复制数据。
-
我只知道如何在 SSMS 中。请注意,如果它不是最后一列,它确实会移动数据。所以如果有大桌子可能需要一段时间。视图会起作用吗?
-
我和@Blam 在一起,我只是创建一个视图,按照您希望的方式对列进行排序。
-
AHiggins,抱歉——我发现之前有人问过这个问题,而且肯定使用了错误的关键字。是的,这是对那个问题的重复。
-
或者,阅读 Paul 的回答 here
标签: sql sql-server alter-table identity-column