Ponoć nie jest to zalecane działanie. Mam bazę danych z produktami. Gdy dodam kilka produktów, ich id w bazie automatycznie inkrementuje się. Problem pojawia się, gdy usunę z bazy jeden lub kilka rekordów. Wtedy, gdy ponownie dodam produkty, to otrzymują one następne id (auto inkrementacja nadal działa). Efekt jest mniej więcej taki:
Po wstawieniu produktów do bazy:
id: 1, producent: apple ...
id: 2, producent: sony,
id: 3, producent: samsung
id:4 , producent: motorola,
Po usunięciu np. 2 ostatnich (jest ok):
id: 1, producent: apple ...
id: 2, producent: sony,
Ale gdy chcę dodać jakiś produkt, to powstaje coś takiego:
id: 1, producent: apple ...
id: 2, producent: sony,
id: 5, producent: lg
Chciałbym, aby id było w tym przypadku z powrotem 3, a nie 5. Bo gdy usunę tak kilka(naście produktów), to potem po wstawieniu innych (nowych) w tabeli pojawia się id: 10, albo 14 i nie wygląda to dobrze (z punktu widzenia "ludzkiego"). Czy da się dekrementować id przy usuwaniu rekordu z bazy, albo wyświetlać to później (w HTML) "poprawnie" z punktu widzenia człowieka (tzn. id zawsze posortowane od 1 do ostatniego, bez przeskoków po usuniętych produktach).
Czy jest to na tyle złe działanie (zmiana ID rekordu w tabeli), że w ogóle nie stosuje się tego typu działań?