MySQL找到最小的+唯一的ID可用

我有一个列ID,大约有1000个项目,其中一些已被删除,例如 id=90, id=127, id=326

我如何进行查询以查找那些可用的ID,以便可以将其重新用于其他项目?

它像一个,min(ID)但我只想查找数据库中不存在的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

然后,此查询将为您提供所需的结果3

以上是 MySQL找到最小的+唯一的ID可用 的全部内容, 来源链接: utcz.com/qa/422390.html

回到顶部