Har*_*iec 13 mysql sql select gaps-and-islands
您有一个table1包含id列的表,即int(11), not null, auto_increment从1开始.
假设您有10,000条记录.很明显,最后一条记录的ID是10,000.删除3条记录后,表中有9,997条记录,但最后一条记录ID值仍为10,000(如果最后一条记录未删除).
如何使用1 sql查询显示已删除的记录?
谢谢.
我认为最简单的方法是使用只有id的虚拟/临时表.1-1000然后离开加入该表.
但是一旦完成,请务必从虚拟/临时表中删除"已删除"记录.否则,他们每次都会出现.
>>编辑<< 你可以做自己加入,弄清楚你是否缺少ID ...
select a.id + 1 MissingIds
from <table> a
left join <table> b
on a.id = b.id - 1
where b.id is null
and a.id < 10000
Run Code Online (Sandbox Code Playgroud)