So che questo è un vecchio post ma ho pensato di chiarire le cose per gli altri che potrebbero fare la stessa cosa che hai basato sul tuo commento:
Quando un record viene eliminato il processo di eliminazione è fatto dalla riga correntemente selezionata dato che posso selezionare solo fino a remare 4, ID 5 non può mai essere cancellato.
Davvero non dovresti ricreare i tuoi ID. Mette a posto le cose se vengono utilizzate come chiavi in un'altra tabella, inoltre se si dispone di un database di grandi dimensioni, la loro ricreazione può semplicemente perdere tempo quando non ce n'è davvero bisogno.
Quello che dovresti fare è salvare un array di id insieme ad un array di voci in modo da sapere quale ID eliminare in base alla riga che hanno selezionato (o qualche altro modo di collegare id e valori in modo da poter afferrare loro più tardi).
Nell'esempio di cui sopra, dopo che qualcuno elimina la riga con id 3, gli array sarebbe simile a questa:
entries = { "a","b","d","e" }
ids = { 1,2,4,5 }
se qualcuno sceglie "e", che costituisce il quarto punto, è sufficiente eliminare dal tabella in cui l'id è uguale al quarto valore nell'array ids, 5 in questo caso.
In questo modo se vengono continuamente aggiunti e rimossi gli elementi, il database potrebbe finire con ids 2, 34, 56 e 435. E non importa, perché il codice terrà traccia e sapere quale id da eliminare.
Perché vuoi per raggiungere questo obiettivo? Dovresti ricreare il database ogni volta che qualche utente cambia qualcosa in esso. – Leandros
perché ne hai bisogno? piuttosto che trovare un modo ingombrante di rispondere alla tua domanda, preferirei trovare un modo per non averne bisogno. – njzk2
no. Voglio ricreare la tabella non il database.Ci sono alcuni motivi per cui; per esempio: quando viene cancellato un record, il processo di cancellazione viene eseguito dalla riga correntemente selezionata poiché posso selezionare fino alla riga 4, l'ID 5 non può mai essere cancellato. – Pztar