sql - 在事件表上更新 id 列的标识规范

标签 sql tsql

我有一个实时(意味着它被我的用户使用)表,其中有一列“some_id”,在创建表时从未设置为“Is Identity”。我现在有 2000 行,其中 some_id 为 NULL。

我现在可以更改身份规范吗?是否有可能对我的用户造成破坏?

我是否应该首先使用准备好的语句更新每一行的“some_id”,以便第一个条目的 some_id 为 1,第二个为 2,等等,然后将其设置为 Identity ? (我确实有一个独特的日期列)

最佳答案

您不能更改现有列并添加 identity(),但您可以删除现有列并使用 identity() 添加新列。将自动填充。

alter table t drop column some_id;
alter table t add some_id int not null identity(1,1);

关于sql - 在事件表上更新 id 列的标识规范,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43591556/

相关文章:

sql-server - 如何从生成的sql返回本地临时表

mysql - 设计这些表的最佳方式

sql - 在mysql中调用很多字段时最好使用*?

sql - 什么会导致链接服务器返回有限数量的数据?

创建/更新日期的 SQL 时间戳

sql-server - 将列值从一个数据库.表复制到另一个数据库.表

sql - postgres 中使用命令复制的变量串联问题

php - mysql中的英国日期格式

sql - 任何人都可以发布等效的 rails 3 sql 语句吗?

sql - T-SQL 条件 WHERE 子句