W tabeli jest pole o nazwie "id". Kolejne rekordy tabeli mają wartość tego pola: 1,2,3,4,5,6,10,11,12,(...)
Czy istnieje zapytanie, które wyciągnie pierwszy najmniejszy wolny numer, czyli w tym przypadku 7?
Podaję rozwiązanie, mam nadzieję, że się przyda komuś w przyszłości:
SELECT IF( NOT EXISTS ( SELECT id FROM tabela WHERE id=1 ), 1, ( SELECT t1.id+1 FROM tabela t1 WHERE NOT EXISTS ( SELECT id FROM tabela WHERE id=t1.id+1 ) ORDER BY t1.id LIMIT 1 ) ) AS empty;