我在数据库中设计了个 表 表中有orderid 字段,是identity(1,1) ,不是关键字,
每点击一次按钮  插入条数据,用户也能删除
当用户删除时, 比如orderid 是1000 删除orderid-1000 的数据
当用户再添加时,这个orderid  会不会是1000 然后再插入数据库 》??????

解决方案 »

  1.   

    identity(1,1) 是子增长键
    删除后新增,会在原来的基础上加 1 
    也就是 orderid=1001
      

  2.   

    删除 1000 order之后,再插入一条记录,Orderid 为1001。
    自增长列会一直累加。
      

  3.   

    不会,是1001.
    如果你想到这个,不如用 select isnull(max(orderid),0) + 1 from tb来实现.
      

  4.   

    不会.
    该列不能自己插入的,除了用了
    SET IDENTITY_INSERT tb ON
    设置,才能显式插入自增列值(且要比它已经使用过的最大值大).
      

  5.   

    除非你truncate table
    或者开启 set identity_insert t oncreate table t
    (
    id int identity(1,1),
    name varchar(20)
    )insert t(name)
    values('1')
    go 10select * from t
    /*
    id name
    1 1
    2 1
    3 1
    4 1
    5 1
    6 1
    7 1
    8 1
    9 1
    10 1
    */
    delete from t where id=1
    select * from t
    /*
    id name
    2 1
    3 1
    4 1
    5 1
    6 1
    7 1
    8 1
    9 1
    10 1
    */
    set identity_insert t on
    insert into t(id,name)  ----注意,一定要显示的将列名写出来
    values(1,1)select * from t
    /*
    id name
    1   1
    2 1
    3 1
    4 1
    5 1
    6 1
    7 1
    8 1
    9 1
    10 1
    */
      

  6.   


    你可以通过
    scope_identity()方法获取目前表中最大的identity值,在它的基础上加1