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

Inserisci il numero intero positivo univoco più basso possibile in modo atomico in MySql

Io non usalo per riempire gli ID "mancanti", ma dovrebbe funzionare:

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

Ottieni tutti gli id s dove id + 1 non esiste (Left Join ) e inserisci Min(id)+1 o 0 se non è disponibile.