日期:2014-05-17  浏览次数:21015 次

SQL Sever中主键Id列设置了Identity属性虽然删除了行,但是新行还是从上一个已删除Id号码+1,该怎么弄
Id

//10000 此行虽然删除了

Id

10001 新行还是递增

怎么样使得 只要没有行 初始行 都是10000
或者 有2行了 第三行 不会是10005 10006这种 把它改成10002

------解决方案--------------------
自己手工处理。
------解决方案--------------------
删除idenitity
通过max生成ID号
truncate table 表名 --可以重新置位identity属性的字段。 
delete from 表名 
dbcc checkident(表名,reseed,0) --重新置位identity属性的字段
------解决方案--------------------
探讨
引用:
假如表中最大主键值已经是10000,这时删除了主键为5000的那条记录,你是否还需要将5001-10000的主键全部减去1?你这个问题其实是没有必要的,保持原样就行了.

那按照你的意思,新添加怎么设置id号呢?最大值加一还是用Identity

------解决方案--------------------
把标识列解锁
再自己写编号