![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 60 Pomógł: 0 Dołączył: 30.08.2010 Ostrzeżenie: (0%) ![]() ![]() |
W tabeli klucz główny to 'id' auto increment.
Czasem zdarza się, że muszę usunąć kilka rekordów z końca ale wtedy jak dodaje kolejne robi się dziura w id bo kolejne rekordy maja id wyższe niż te które usunąłem a chciałbym żeby była ciągłość id tzn jak skasuje jakies rekordy to id dla kolejnego jest kolejnym po rekordzie ostatnim nieskasowanym. Zawsze w takim wypadku używałem opcji 'optymalizuj tabele' i nasteny autoindex byl taki jak trzeba a teraz ta opcja w ogole nie dziala. Co może być powodem ? |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Zacznijmy od tego, że masz błąd logiczny skoro przeszkadzają ci dziury w ID
![]() Co do problemu: http://dev.mysql.com/doc/refman/5.1/en/alter-table.html Cytat ALTER TABLE t2 AUTO_INCREMENT = value;
You cannot reset the counter to a value less than or equal to any that have already been used. For MyISAM, if the value is less than or equal to the maximum value currently in the AUTO_INCREMENT column, the value is reset to the current maximum plus one. For InnoDB, if the value is less than the current maximum value in the column, no error occurs and the current sequence value is not changed. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 60 Pomógł: 0 Dołączył: 30.08.2010 Ostrzeżenie: (0%) ![]() ![]() |
Nie tyle mi to przeszkadza co testuje pewne skrypty i często już na początku robią mi dziury
a nie chce zęby pierwsze id zamiast 1 bylo 324627 dlatego stosowałem optymalizację i pomagało.
To znam, ale uzyskiwałem szybko ten efekt opcją 'optymalizuj tabele' a teraz nagle to przestało działać i nie wiem dlaczego. |
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat ale uzyskiwałem szybko ten efekt opcją 'optymalizuj tabele' ALTER TABLE t2 AUTO_INCREMENT = value; jest równie szybkie ![]() ps: testujesz na serwerze produkcyjnym? -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 60 Pomógł: 0 Dołączył: 30.08.2010 Ostrzeżenie: (0%) ![]() ![]() |
Na VPS konkretnie.
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat Na VPS konkretnie. Szczerze powiedziawszy srednio mnie interesuje czy to vps, pc czy amiga.Pytalem sie czy to serwer produkcyjny, czyli taki, na którym docelowo dziala aplikacja. ![]() Testy robi się na maszynie testowej a nie produkcyjnej. Na produkcyjną wrzuca się już działającą aplikacje. Wowczas nie ma problemu z tym, ze ID zaczyna się 345323 ![]() -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 05:48 |