是这样的 有表A 用户号为主键 本身设计为1-65000之间,结果不够用了.期间出现不连续情况如:
1,2,3,4,10,1723,1724这样的情况.程序中如何检测出这些不连续点.并且在系统录入用户信息时自动选择期间的号码供使用.
谢谢了啊

解决方案 »

  1.   

    例:
    有一数据表名为TABLE4,有一个ID的编号,现想找出不是连续的ID编号中最小的一个:/*
    1 s
    3 ss
    5 vv
    7 c
    9 l
    */SELECT TOP 1 ID+1 
    FROM table4 AS aaa 
    WHERE aaa.ID=(select count(*)+1 from table4 where aaa.ID>ID)
    ORDER BY aaa.ID DESC/*
    结果:
    2*/
      

  2.   


    SELECT MIN(用户号)+1 FROM A WHERE 用户号 NOT IN (SELECT 用户号-1 FROM A)
      

  3.   

    select min(id+1) from tb where  (id+1) not in(select id from tb)
      

  4.   

    hsmserver 哥哥 你太有才了.最简单了.!