Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MYSQL] Pytanie dotyczące pola auto_increment
Forum PHP.pl > Forum > Przedszkole
StasiuX
Witam.

Kolejne pytanie z serii "Lamer pyta" smile.gif.

Zastanawiam się czy jest jakaś możliwość użycia numerów skasowanych rekordów w polu ustawionym na "auto_increment". Jako, że piszę swojego małego CMSa winksmiley.jpg dużo go testuję i co chwila dodaję coś do bazy danych. Tak więc pole "id" w niektórych tabelach doszło już do nr 200 i przy czym wpisów jest tylko 5 winksmiley.jpg. Z góry dzięki za odp.

Pozdrawiam
nospor
musialby szukac dziur i je wypelniec, ale to poroniony pomysl. Złą praktyką jest uzywanie starych/skasowanych ID. ID jest unikalny i nie powinien byc juz powtarzany skoro juz byl raz uzyty. Pozatym to bezsensu zabawa winksmiley.jpg
piotrooo89
wyczyść bazę w pma i będzie incrementował o 1.
JoShiMa
Możesz zresetować licznik:

  1. ALTER TABLE nazwa_tabeli AUTO_INCREMENT=1;


Wtedy wszystkie wolne numerki większe niż 1 powinny zostać ponownie wykorzystane.
StasiuX
Dobra, nie będę kombinował pod górkę winksmiley.jpg. Jakkolwiek dzięki za odp.
piotrooo89
to nie kombinacje tylko standardowe czynności które mogą uprzyjemnić Ci pracę.
nospor
ale o czym wy mowicie? napisano wyraźnie, ze w bazie są rekordy. A skoro są rekordy to zadne czyszczenie bazy czy tez resetowanie incrementacji nie wchodzi w rachubę. Są dziury, to niech są, po to one są by być smile.gif
Spykaj
Możesz też zacząć od jakiejś pełnej liczby, np. wszystko od 1000 smile.gif tak np. jest tutaj:
http://opss.safo.biz/?menu=comp&sub=prob&comp=0
Black-Berry
Nie wypełniaj dziur bo któregoś dnia zechcesz np. przeniesc dany rekord do innej tabeli (np do kosza). A później na przykład będziesz chciał z kosza wyciągnąć... dobrze by było żeby ten rekord miał gdzie wrócić.
StasiuX
OK OK, zostawię jak jest smile.gif.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.