serial作为标识,这个列是自增列吗

解决方案 »

  1.   

    递增是递增的,但是它插入到sql server前面删除的位置了。变成这样了
    2000
    3555
    3556
    3557
    2004
    .
    .
    .
    3558
    3559
    其中的2001-2004 是插入3555前删除掉了, 所以后来插入3555记录时插到了原来2001记录的位置
      

  2.   

    是的,是自增加列你用的sql server中的identity(1,1) 这种自增列吗我做了一个实验,没有出现你说的这种情况:--drop table testcreate table test(serial int identity(1,1) ,inputdata int)insert into test(inputdata) values(22)
    go--先删除数据
    delete from test--然后在插入数据
    insert into test(inputdata) values(22)
    select * from test
    /*
    serial inputdata
    2 22
    */
      

  3.   


    还是没有你说的问题:create table test(serial int identity(1,1) ,inputdata int)
    goinsert into test(inputdata) values(22)
    go 100--先删除中间的数据
    delete from test where serial  in( 50, 55,58)
    --然后在插入数据
    insert into test(inputdata) values(22)
    --查询不到数据
    select * from test where serial  in( 50, 55,58)
    /**/
      

  4.   


    哦,把serial字段,建个聚集索引就行,这样,返回的数据,应该就按照顺序来拍了