mysql - 用于列出未使用的数字 ID 的 SQL 查询

标签 mysql indexing

我有一个在 column=ID 上索引的表,它是一个 5 位整数。

这是一个非常古老的表,并且从未自动递增。

我想列出所有未使用的 ID。

我可以使用 SELECT * ORDER BY 语句来完成此操作,然后针对递增的 for() 循环运行结果,但我想知道是否有人知道是否SQL 查询语句在 MySQL 中执行此操作,或者如果您有比我计划采用的方法更聪明的方法。

谢谢

最佳答案

这就是我会采取的方法。

  1. 创建一个从 1 到 n 的数字表(n 是最大的 ID)。可以使用查询生成数字,例如 as this .
  2. number 表执行 LEFT JOIN 并仅获取 NULL 结果。

See this demo

关于mysql - 用于列出未使用的数字 ID 的 SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13613702/

相关文章:

sql - 如何有效地按子查询的结果进行排序?

php - 与 ISP 无关的速度测试

java - c3p0 说 - "java.lang.Exception: DEBUG ONLY: Overdue resource check-out stack trace"开始 hibernate 事务

mysql - SQL 查询以获取同一表中计数大于 1 的列

ios - Swift.String.Index(_rawBits : )) 是什么意思

azure - DocumentDB 索引策略中字符串的最佳精度

sql-server - 为什么 SQL Server Tuning Advisor 建议将 PRIMARY KEY 添加到索引的包含列?

mysql - Mysql批量数据InsertQuery错误

mysql - MySQL连接三张表获取汇总数据

java - 程序化方法谷歌是否索引了我的链接