Jag skulle inte använd detta för att fylla i "saknade" ID, men det här borde fungera:
Insert Into t (id)
Select Coalesce( Min(t.id) + 1, 0 )
From t
Left Join t As t2 On ( t2.id = t.id + 1 )
Where t2.id Is Null
Hämta alla id
s där id + 1
existerar inte (Left Join
), och infoga Min(id)+1
eller 0
om inget är tillgängligt.