Mysql
 sql >> Datenbank >  >> RDS >> Mysql

mysql findet die kleinste + eindeutige verfügbare ID

Sie können die minimal verfügbare ID mit dieser Abfrage abrufen:

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

Was es tut, ist, dass es die Tabelle mit sich selbst verbindet und prüft, ob die min+1 ID ist null oder nicht. Wenn es null ist, ist diese ID verfügbar. Angenommen, Sie haben die Tabelle, in der ID sind:
1
2
5
6

Dann gibt Ihnen diese Abfrage das Ergebnis 3 was du willst.