sql >> Databasteknik >  >> RDS >> Mysql

Infoga lägsta möjliga unika positiva heltal på ett atomärt sätt i MySql

Jag skulle inte använd detta för att fylla i "saknade" ID, men det här borde fungera:

Insert Into t (id)
  Select Coalesce( Min(t.id) + 1, 0 )
  From t
  Left Join t As t2 On ( t2.id = t.id + 1 )
  Where t2.id Is Null

Hämta alla id s där id + 1 existerar inte (Left Join ), och infoga Min(id)+1 eller 0 om inget är tillgängligt.




  1. Lockiga hängslen i T-SQL

  2. Hur man konverterar versaler till gemener i SQL Server – LOWER()

  3. 'IF' i 'SELECT'-satsen - välj utdatavärde baserat på kolumnvärden

  4. Variabeln 'sql_mode' kan inte ställas in på värdet 'REPLACE