Hvorfor er det at der ikke må mangle nogen id'er? For mig at se lyder det som lidt overkill at skulle finde et ledigt ID. Er du sikker på at det ikke virker ligeså godt, hvis du bare fortsætter derudaf?
Anyway, hvis du absolut vil have det, så kan du muligvis bruge
ALTER TABLE tbl_name AUTO_INCREMENT = 1
Jeg mener at MySQL så selv vælger det førstkommende ledige ID (men det er ikke testet, og jeg kan ikke huske om jeg husker rigtigt! Så prøv det IKKE på live data!!!)
efter at have kigget meget på din løsning og testet på et test setup og så læst i mysql manualen, så har man vist nok til dels spærret for det du skriver. Man kan godt fx slette de sidste 5 posts og så sætte auto_increment til det højeste nr id + 1 men man kan ikke sætte den til 1 og så få den til at fylde hullerne ud
Der er ikke nogen færdig løsning på dit problem... eneste løsning (som jeg ser det) er at du sløjfer din auto_increment og: - laver ekstra SQL for hver insert som finder næste ledigt nr. (SELECT MAX(id) from table - og bruger max_id+1 som nyt id) - Hver gang en række slettes, så flytter du sidste række ned på den plads (SELECT MAX(id) from table - og bruger dette id til: UPDATE table SET id=delete_id WHERE id=max_id)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.