Devi mantenere questi codici già esistenti o puoi "resettarli"?
In quest'ultimo caso basterebbe fare un travaso dei record tramite una query di
insert into select
e avresti tutti i tuoi codici numerati in maniera progressiva.
Non è una buona prassi quella di fare accrocchi del genere con gli id.
edit. Per trovare il primo id libero potresti ricorrere a una semplice query e integrarla eventualmente in una funzione da richiamare nella maschera
ma come ti dicevo è altamente sconsigliabile. In una situazione di inserimenti concorrenti non so come si comporterebbe.codice:select min(t.id)+1 from tabella as t left join tabella as t2 ON t2.id=t.id+1 where t2.id is null![]()