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

关于自增长标识列的值,从某个数开始重新排序

譬如 我有一张表TProduct ,有 id 和 productName 两列。 
id列为自增长 identity(1,1) 而且为主键。

前期插入了上万的记录,由于后期删除操作,导致id最小就从5000开始,
那我能否实现 将id列从1开始重新排序。(在不动表结构的情况下,譬如删除id列,再建id列)

望高人指点,不胜感激~

------解决方案--------------------
把数据,除自增列外,插入一个临时表,然后truncate目的表,再导回去,就好了。记得不要带上自增列
------解决方案--------------------
引用:
额。谢谢版主

那如果有千万的记录,而且字段数30列+ ,插入临时表的效率高不高?

没有sql自带的功能去直接更新自增列字段,让其从1开始排序嘛?
更新比插入速度通常都慢得多,而且由于临时表基本上没有任何索引和约束,你也没必要做,所以速度会很快的,最起码比你update要快。