sql >> Databasteknik >  >> RDS >> Mysql

mysql hitta minsta + unika id tillgängligt

Du kan få det minsta tillgängliga ID:t med den här frågan:

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

Vad den gör är att den förenar tabellen med sig själv och kontrollerar om min+1 ID är null eller inte. Om det är null är det ID:t tillgängligt. Anta att du har tabellen där ID är:
1
2
5
6

Sedan kommer denna fråga att ge dig resultatet som 3 vilket är vad du vill.



  1. MySQL-antal och grupp efter dag

  2. Backend-versionen stöds inte för att designa databasdiagram eller tabeller

  3. MariaDB DATABAS() Förklarat

  4. Undvik att upprepa poster som visas i MySQL / PHP