mysql - 如何在 auto_increment 列中找到 "holes"?

标签 mysql sql gaps-and-islands

当我删除时,例如,id 3,我有这个:

id | name
 1 |
 2 |    
 4 |
 5 |
 ...

现在,我想搜索丢失的 ID,因为我想用以下内容再次填充 ID:

INSERT INTO xx (id,...) VALUES (3,...)

有没有办法在 auto_increment 索引中搜索“漏洞”?

谢谢!

最佳答案

你可以找到这样的差距的最高值:

select t1.id - 1 as missing_id
from mytable t1
left join mytable t2 on t2.id = t1.id - 1
where t2.id is null

关于mysql - 如何在 auto_increment 列中找到 "holes"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10189285/

相关文章:

sql - 在Oracle sql中将IPv4地址拆分为4个数字

mysql - SQL 按原始顺序分区

mysql - 如何锁定/撤销在数据库表中写入新数据的访问权限

php - 将所选值从下拉菜单发送到另一个页面

mysql - Golang mysql select * 语句只返回第一个值

sql - 将用户定义的表参数传递给动态 sql sp_executesql

sql-server-2008 - 如何识别 T-SQL 中每个不同成员的多个开始和结束日期范围中的第一个间隔

sql-server - sql server 选择第一次出现的数据更改

php - 从数据库中获取json格式的对象

mysql - 搜索字符串时仅考虑初始数字