Je pense que le plus simple serait d'avoir une table factice/temp avec juste des identifiants. 1-1000 puis jointure gauche à cette table.
Mais assurez-vous de supprimer les enregistrements "supprimés" de votre table factice/temp une fois que vous avez terminé. Sinon, ils apparaîtront à chaque fois.
>> MODIFIER << Vous pouvez vous joindre vous-même pour déterminer s'il vous manque des identifiants...
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