从网上搜集资料,在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]