Questo e' impossibile, l'indice numerico avanza sempre.Originariamente inviato da maurizio54
Qualcuno sa dirmi perchè, in maniera sembra casuale, a volte quando cancello qualche record in una tabella di un DB mysql con campo ID auto_increment, quando vado ad inserire un nuovo record questo prende uno degli ID che si sono resi disponibili dopo la cancellazione invece di prendersi un nuovo ID? C'è un modo per controllare il funzionamento? Grazie
Se dici che prende il posto nella visualizzazione questo succede se hai cancellato dei record e la tabella non e' ottimizzata, cioe' con degli spazi vuoti nel file. Questi spazi verranno occupati da nuovi inserimenti, ma con indice progressivamente avanzante.
Per definizione i record all'interno della tabella non sono ordinati ma sono "puntati" da un indice. L'indice e' quello ordinato, non i dati di per se. L'ordine di visualizzazione lo puoi scegliere con order by.
Se vuoi impedire che vengano inseriti record in spazi lasciati vuoti da cancellazioni devi ottimizzare la tabella con una query prima di fare altri inserimenti.
OPTIMAZE TABLE tabella.
![]()