我有一个在 column=ID 上索引的表,它是一个 5 位整数。
这是一个非常古老的表,并且从未自动递增。
我想列出所有未使用的 ID。
我可以使用 SELECT * ORDER BY
语句来完成此操作,然后针对递增的 for()
循环运行结果,但我想知道是否有人知道是否SQL 查询语句在 MySQL 中执行此操作,或者如果您有比我计划采用的方法更聪明的方法。
谢谢
最佳答案
这就是我会采取的方法。
- 创建一个从 1 到 n 的
数字
表(n 是最大的 ID)。可以使用查询生成数字,例如 as this . - 对
number
表执行LEFT JOIN
并仅获取NULL
结果。
See this demo
关于mysql - 用于列出未使用的数字 ID 的 SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13613702/