DBCC CHECKIDENT
检查指定表的当前标识值,如有必要,还对标识值进行更正。语法
DBCC CHECKIDENT
    ( 'table_name'
        [ , { NORESEED
                | { RESEED [ , new_reseed_value ] } 
            } 
        ] 
    )

解决方案 »

  1.   

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

  2.   

    truncate table tbname
    多简单啊。干吗还要重新创建?!
      

  3.   

    --删除记录后ID的自动变化--函数
    create function emp_getid()
    returns int
    as
    begin
    declare @id int
    select @id=max(id) from emp
    set @id=isnull(@id,0)+1
    return(@id)
    end--表
    CREATE TABLE [dbo].[emp] (
    [id] [int] NOT NULL ,
    a varchar(10)
    ) ON [PRIMARY]
    GOALTER TABLE [dbo].[emp] WITH NOCHECK ADD 
    CONSTRAINT [PK_emp] PRIMARY KEY  CLUSTERED 
    (
    [id]
    )  ON [PRIMARY] 
    GOALTER TABLE [dbo].[emp] WITH NOCHECK ADD 
    CONSTRAINT [DF__emp__id__208CD6FA] DEFAULT ([dbo].[emp_getid]()) FOR [id]
    GO
    --触发器
    create trigger emp_delete on dbo.emp
    AFTER delete
    as
    declare @id int,@mid int
    select @mid=min(id),@id=@mid-1 from deleted
    update emp set id=@id,@id=@id+1 where id>@mid--测试数据
    insert emp (a)
    select '10'
    union all select '20'
    union all select '30'delete emp where id =2select * from empdrop table emp
    drop function emp_getid/*
    id    a
    -----------
    1 10
    2 30*/
      

  4.   

    不要用delete from A 语句,用truncate table A 就可以了.