但我把第5条删除后,我在插入还是从6开始了,我如何才能让他继续从第5条开始
>>>
可以用DBCC CHECKIDENT重设种子为5.
还有我如果把第3条删除以后,我从新插入也能有个ID 是3的
这样能实现吗?
>>>
不行.重设种子后有可能导至重复.PS:
你这种需求还是建议你自编ID的值吧

解决方案 »

  1.   

    如果每次刪除的都是最後一筆 dbcc checkident
    if object_id('T') is not null
       drop table T
    create table T(ID int identity(1,1),Name varchar(10))
    insert T select 'A'
    insert T select 'B'
    insert T select 'C'
    delete T where id=3
    dbcc checkident(T,reseed,2)
    insert T select 'C'
    select * from T
    ID          Name       
    ----------- ---------- 
    1           A
    2           B
    3           C(3 row(s) affected)
      

  2.   

    if object_id('T') is not null
       drop table T
    go
    create table T(ID int identity(1,1),Name varchar(10))
    insert T select 'A'
    insert T select 'B'
    insert T select 'C'
    delete T where id=2
    set identity_insert  T  on
    insert T(ID,Name) select 2,'B'
    set identity_insert T off
    insert T select 'E'
    select * from TID          Name       
    ----------- ---------- 
    1           A
    2           B
    3           C
    4           E(4 row(s) affected)