查询最小未使用ID的SQL查询

时间:2022-06-07 20:19:14
--每个都加一,以此来找出最小的未用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)