我有一个列ID,大约有1000个项目,其中一些已被删除,例如 id=90, id=127, id=326
id=90, id=127, id=326
我如何进行查询以查找那些可用的ID,以便可以将其重新用于其他项目?
它像一个,min(ID)但我只想查找数据库中不存在的ID,因此,如果我使用删除项目,则ID = 90下次单击添加项目时,我将其插入为id = 90
min(ID)
ID = 90
id = 90
您可以使用以下查询获取最小可用ID:
SELECT MIN(t1.ID + 1) AS nextID FROM tablename t1 LEFT JOIN tablename t2 ON t1.ID + 1 = t2.ID WHERE t2.ID IS NULL
它的作用是将表与其自身连接起来,并检查min+1ID是否null存在。如果为空,则该ID可用。假设您的表ID位于: 1 2 5 6
min+1
null
ID
然后,此查询将为您提供所需的结果3。
3