sql - 如何重新编号 T-SQL 的系统自增标识列?

标签 sql primary-key auto-increment

我在 SQL 表中有一个自动增量主键,可以说表如下所示:

CREATE TABLE [Table] (--Identifier contains a space and uses a reserved keyword.
    [ID] [int] IDENTITY(1,1) NOT NULL ,
    [Name] [varchar](50) NULL, 
    CONSTRAINT [PK__Table] PRIMARY KEY CLUSTERED ([ID] ASC)
);

ID  |  Name|
1     John
2     Jack
3     Bill 
4     Joe
然后我删除第 2 行 jack :
ID  |  Name|
1     John
3     Bill 
4     Joe
我想要实现的是更改 id 列,使表看起来像这样
ID  |  Name|
1     John
2     Bill 
3     Joe
有没有办法做到这一点?

最佳答案

我永远不会这样做,但你可以:

  • 创建一个名为 ID2 的新自增主键
  • 删除 ID 列
  • 将 ID2 列重命名为 ID
  • 关于sql - 如何重新编号 T-SQL 的系统自增标识列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16691885/

    相关文章:

    mysql - 如何用sql搜索字母 'å'

    sql-server - 主键和唯一键约束有什么区别?

    mysql - Grails id 映射自动增量 - MySQL

    mysql - 通过不断查询 PRIMARY_ID > lastProcessedId 来 "monitor"数据库表是否不好

    mysql - 如何处理 MySQL 中 auto_increment ID 列的碎片

    sql - PostgreSQL:将间隔添加到不同时区的时间戳

    sql - 从 PostgreSQL 中的搜索中排除过时数据的最佳方法

    php - Opencart:产品名称打印多次,如何解决。?

    sql - NEWSEQUENTIALID 的可预测性如何?

    Grails 域类主键