SQL - 如何自动选择1到1000之间的最小id

时间:2017-04-12 08:28:01

标签: mysql sql

我的问题是我需要在服务器上发出请求:

https://INeedTheDocsWithThisId="id"

“id”需要介于1到1000之间。 我的问题是我现在使用自动增量,这会在ID中留下漏洞。

例如:我有ids:1,2,3,4。如果我删除2.下一个将是5而不是2.

如何创建一个自动选择1到1000之间未使用的最小数字的函数?

谢谢你们。

1 个答案:

答案 0 :(得分:1)

以下SQL可用于在ID中查找漏洞。它使用将表连接到自身(别名为ab)并返回最低ID + 1,其中找不到ID + 1的记录。速度很快,但在表格中的第一条记录之前没有找到漏洞。

SELECT MIN(a.ID) + 1
FROM YourTable a
    LEFT JOIN
       YourTable b
       ON a.id + 1 = b.id
WHERE b.id IS NULL
    AND a.id < 1000;