Hier wäre eine Lösung
Code:
select min(ID+1) as FreieID from Tabelle
where not (ID+1 in (Select ID from Tabelle))
Voraussetzung, die Datenbankengine unterstützt die Syntax. Bei
MySQL gehts glaub ich nicht. Allerdings soll die neueste Version jetzt Subqueries unterstützen, hab die aber nicht installiert. Kann ja mal einer ausprobieren und hier berichten.
Gruß,
Tom