--每个都加一,以此来找出最小的未用ID
SELECT Min(T1.ID)+1 FROM dbo.TestTable T1
-- 不用查询已经存在的ID
WHERE (T1.ID+1) NOT IN (SELECT T2.ID FROM dbo.TestTable T2) 
--因为不会为0,所以如果ID为1时上面的语法将查不到1的空缺,所以要加这个语句
--如果为NULL就说明是1空了,因为最大值加1肯定是存在的。
AND EXISTS (SELECT T3.ID FROM dbo.TestTable T3 WHERE T3.ID =1)

  

posted on 2014-04-02 13:44  枫叶飘零黄昏血  阅读(522)  评论(1编辑  收藏  举报