一张A表包括id,name两个字段,id是自增长的,name是varchar的
内容如下:
---------------------
1         张三
2         李四
3         王五
---------------------
这三条数据,其中2这条数据不小心我删了,表中的内容变为
---------------------
1         张三
3         王五
---------------------
我现在想插入一条数据,而且编号也要是2的,数据跟原来的一样如下
---------------------
1         张三
2         李四
3         王五
---------------------
可以实现吗?

解决方案 »

  1.   

    USE AdventureWorks2008R2;
    GO
    -- Create tool table.
    CREATE TABLE dbo.Tool(
       ID INT IDENTITY NOT NULL PRIMARY KEY, 
       Name VARCHAR(40) NOT NULL
    )
    GO
    -- Inserting values into products table.
    INSERT INTO dbo.Tool(Name) VALUES ('Screwdriver')
    INSERT INTO dbo.Tool(Name) VALUES ('Hammer')
    INSERT INTO dbo.Tool(Name) VALUES ('Saw')
    INSERT INTO dbo.Tool(Name) VALUES ('Shovel')
    GO-- Create a gap in the identity values.
    DELETE dbo.Tool 
    WHERE Name = 'Saw'
    GOSELECT * 
    FROM dbo.Tool
    GO-- Try to insert an explicit ID value of 3;
    -- should return a warning.
    INSERT INTO dbo.Tool (ID, Name) VALUES (3, 'Garden shovel')
    GO
    -- SET IDENTITY_INSERT to ON.
    SET IDENTITY_INSERT dbo.Tool ON
    GO-- Try to insert an explicit ID value of 3.
    INSERT INTO dbo.Tool (ID, Name) VALUES (3, 'Garden shovel')
    GOSELECT * 
    FROM dbo.Tool
    GO
    -- Drop products table.
    DROP TABLE dbo.Tool
    GO
      

  2.   

    SET IDENTITY_INSERT tb ON
    GO再插入数据
      

  3.   

    --> 测试数据: #tb
    if object_id('tempdb.dbo.#tb') is not null drop table #tb
    go 
    create table #tb (id int identity(1,1),name varchar(1))
    insert into #tb
    select  'a' union all
    select  'b' union all
    select  'c'select * from #tb
    /*id          name
    ----------- ----
    1           a
    2           b
    3           c(3 row(s) affected)*/delete #tb where id=2 select * from #tb 
    /*
    id          name
    ----------- ----
    1           a
    3           c(2 row(s) affected)
    */set identity_insert #tb on  insert #tb (id,name) select 2,'d'select * from #tb 
    /*
    id          name
    ----------- ----
    1           a
    2           d
    3           c(3 row(s) affected)
    */
      

  4.   

    SET IDENTITY_INSERT TB ON 学习