如题,自动编号的id字段(我自己设置的标示字段),现添加了3条纪录,在添就是id就是4了,我把第3条纪录删除,再添加一条记录,但是还是从id字段从4开始,怎么让他从3开始。
   

解决方案 »

  1.   

    Drop table #tb;
    Create table #tb(ch char(1),id int identity(1,1));
    Insert Into #tb(ch) values('a'),('b'),('c');
    Delete #tb Where id = 2;
    Go
    ----先查出不连续的最小值
    Declare @MinLostNum as int;
    Set @MinLostNum = (Select top 1 id
    From #tb as t1
    Where Not Exists(
    Select *
    From #tb as t2
    Where t2.id = t1.id + 1))
    Set IDENTITY_INSERT #tb On
    Insert Into #tb(ch,id) Values('D',@MinLostNum+1);
    Set IDENTITY_INSERT #tb Off
    Select * From #tb
    -------------------
    a 1
    D 2
    c 3
      

  2.   

    DBCC CHECKIDENT ('表名',RESEED, 3)