You need to enable JavaScript to run this app. SQL Server的identity自增列从随机数而非1起始如何处理?
优惠活动
大模型
产品
解决方案
定价
更多

SQL Server的identity自增列从随机数而非1起始如何处理?

自增ID列重置为从1开始递增的解决方案

以下按两种常见场景给出对应操作方法:

场景1:表中无业务数据,仅需调整自增起始值

不同数据库对应操作命令如下:

  • MySQL:执行 ALTER TABLE 你的表名 AUTO_INCREMENT = 1;
  • SQL Server:执行 DBCC CHECKIDENT ('你的表名', RESEED, 0); 后续插入数据时ID就会从1开始生成
  • PostgreSQL:执行 ALTER SEQUENCE 你的表名_id_seq RESTART WITH 1;
  • SQLite:执行 DELETE FROM sqlite_sequence WHERE name='你的表名';

场景2:表中已有存量数据,需要将现有行的ID修改为从1开始的连续序号

操作前请务必备份全表数据,避免数据丢失;如果当前ID字段被其他表作为外键关联,请勿直接修改ID,需先同步处理关联表的外键数据。
操作步骤:

  1. 删除原有的ID列:ALTER TABLE 你的表名 DROP COLUMN ID;
  2. 重新新增自增主键ID列,新增过程中数据库会自动为现有行按顺序生成从1开始的连续ID:
    • MySQL:ALTER TABLE 你的表名 ADD ID INT UNSIGNED NOT NULL AUTO_INCREMENT FIRST, ADD PRIMARY KEY (ID);
    • SQL Server:ALTER TABLE 你的表名 ADD ID INT IDENTITY(1,1) PRIMARY KEY;

对应问题提到的数据表截图如下:
数据表截图

内容的提问来源于stack exchange,提问作者Nwenar Abbas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.20 09:06:02