SQL自增列重置

从网上搜集资料,在SQL中重置自增标识列主要有以下三种方法:

方法一:删除原表数据并重置自增列

--- 删除原表数据并重置自增列
truncate table tablename  
--truncate方式也可以重置自增字段

方法二:保留数据重置表自增列

--保留数据重置表自增列
DBCC CHECKIDENT (tablename,reseed,0)

方法三:允许显示插入自增列

-- 设置允许显式插入自增列
SET IDENTITY_INSERT tablename  ON

-- 数据添加完毕后需关闭显示插入
SET IDENTITY_INSERT tablename  Off

    当设置允许显示插入自增列时,就需要自己规定自增列数值了,否则会报错。

显示插入自增数据

update a
set a.ID=t.RowID
from [tbl] a
 left join(select [col] , RowID=(row_number() over (order by(select 0)))  from dbo.[tbl]) t
   on t.[col] =a.[col]
原文地址:https://www.cnblogs.com/springsnow/p/14142960.html