mssql sqlserver 重新设置标识列的起始值


摘要:
当我们对一张含有标识列的表,进行数据合并操作后,通常需要重新规划标识列的起始值
下文将讲述如何对表的标识列进行重新规划


在对标识列进行重新规划相关列值的时候,需采用 checkident函数对表中标识值进行规整
1 dbcc checkident(‘表名’) —默认将表中的标识列的起始值初始化为 当前此列的最大值
dbcc checkident(‘表名’,NORESEED) —返回当前标识列最大值
2 dbcc checkident(‘表名’,RESEED) —功能类似 dbcc checkident(‘表名’)
3 dbcc checkident(‘表名’,RESEED,新标识列起始值) —手动指定新标识列起始值


例:

 create table A(keyId int identity(1,1),
name varchar(30))
go
insert into A(name)values('a')
go
dbcc checkident(A,RESEED,0)   --重置标识列为0
go
insert into A(name)values('b')
go
dbcc checkident(A,RESEED,1001)  --重置标识列为1001
go
insert into A(name)values('c')
go
dbcc checkident(A,NORESEED) ---获取当前最大值,将打印出消息
go 
select * from A 
go
truncate table A
drop     table A 
go

mssql_sql标识列重置方法