1
我有一個表,自動編號id(稱爲id)範圍從1 - 159270,所以從table1選擇max(id)返回159270,但我認爲其中一個記錄已被刪除,有沒有一種簡單的方法來找出哪個ID丟失?找到一個缺失的索引
感謝
我有一個表,自動編號id(稱爲id)範圍從1 - 159270,所以從table1選擇max(id)返回159270,但我認爲其中一個記錄已被刪除,有沒有一種簡單的方法來找出哪個ID丟失?找到一個缺失的索引
感謝
蠻力:
SELECT * FROM table T1
WHERE NOT EXISTS (SELECT * FROM Table T2 WHERE T2.ID = T1.ID - 1)
這應該列出行只是跟着刪除的文件。
不工作,如果超過一個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
非常感謝你,soted我的問題,簡單,當你看到它,總是忘記SQL是多麼簡單 – spacemonkeys 2009-07-13 11:58:21