Puoi ottenere l'ID minimo disponibile utilizzando questa query:
SELECT MIN(t1.ID + 1) AS nextID
FROM tablename t1
LEFT JOIN tablename t2
ON t1.ID + 1 = t2.ID
WHERE t2.ID IS NULL
Quello che fa è che si unisce alla tabella con se stesso e controlla se il min+1
L'ID è null
o no. Se è nullo, allora quell'ID è disponibile. Supponiamo di avere la tabella in cui ID
sono:
1
2
5
6
Quindi, questa query ti darà il risultato come 3
che è quello che vuoi.