2009-07-13 64 views
1

我有一個表,自動編號id(稱爲id)範圍從1 - 159270,所以從table1選擇max(id)返回159270,但我認爲其中一個記錄已被刪除,有沒有一種簡單的方法來找出哪個ID丟失?找到一個缺失的索引

感謝

回答

6

蠻力:

SELECT * FROM table T1 
WHERE NOT EXISTS (SELECT * FROM Table T2 WHERE T2.ID = T1.ID - 1) 

這應該列出行只是跟着刪除的文件。

+0

非常感謝你,soted我的問題,簡單,當你看到它,總是忘記SQL是多麼簡單 – spacemonkeys 2009-07-13 11:58:21

3

不工作,如果超過一個ID在連續缺失......但快:

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