Mysql
 sql >> Database >  >> RDS >> Mysql

mysql trova l'ID più piccolo + univoco disponibile

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.