Mysql
 sql >> Base de données >  >> RDS >> Mysql

mysql trouve le plus petit + identifiant unique disponible

Vous pouvez obtenir l'ID minimum disponible en utilisant cette requête :

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

Ce qu'il fait, c'est qu'il joint la table avec lui-même et vérifie si le min+1 L'identifiant est null ou pas. S'il est nul, cet ID est disponible. Supposons que vous ayez la table où ID sont :
1
2
5
6

Ensuite, cette requête vous donnera un résultat sous la forme 3 c'est ce que vous voulez.