a79rtur
2.10.2004, 15:20:47
czesc
mam nastepujacy problem. dodaje nowe rekordy za pomoca skryptu w bazie mysql ,pole 'id' ma włączoną właściwość autoincrement. po wykasowaniu paru rekordów z poziomu bazy dodawane nowe rekordy mają takie id jakby tamte wykasowane dalej istaniały. moze troche namieszałem więc przykład , mam pola o id : 1,3,4,5,6,7.
kasuje recznie pola o id 3,6,7, dodaje formularzem nowy rekord i dostaje on id=8.
czemu nie 3 albo 7 ?
Vertical
2.10.2004, 15:25:01
U mnie też tak jest. Tabela MySQL ma coś takiego, że odliczanie zaczyna się od pierwszego rekordu, a później mimo tego nawet, kiedy wykasujesz dany rekord, licznik idzie dalej.
Puciek
2.10.2004, 15:28:53
Jednak jeśli dobrze pamiętam wartośc następnego autoincrement można zmodyfikować, ale tutaj już trzeba by zajrzeć do manuala i pogrzebać.
autoincrement mode - tryb przetwarzania danych "w przód" mówi samo za siebie...
wiem, że istnieje sposób na "odchudzenie" bazy z "pustych" indeksów. jest to gdzieś w manualu mySQL... ale nie pamiętam gdzie

jak znajdę, to Ci podeślę na PW
Cytat(a79rtur @ 2004-10-02 16:20:47)
dodaje formularzem nowy rekord i dostaje on id=8.
czemu nie 3 albo 7 ?
A przeszkadza Ci to?
Jesli nie to zostaw... tak ma byc, w kazdej bazie tak jest.
dareckiphp
3.10.2004, 07:14:11
Zdecydowanie popieram pozostawienie autoincrement w stanie nienaruszonym. Jeśli potrzebna ci bardziej autentyczna numeracja (czytaj: rzeczywista) zawsze można dodawać nowe rzeczy do bazy poprzez generator kolejnej liczby. A tak dla ludzi: można napisać parę linijek, które będą sprawdzać jaki numer został ostatnio wprowadzony i sprawdzać czy pomiędzy pierwszym i ostatnim nie ma dziury (1,2,5,6) -> dopisze 3.
ActivePlayer
16.10.2004, 12:28:32
Tak.. tylko po co... przeciez takie autoincrement ma same zalety... np. mozna latwo posortowac wg kolejnosci dodawania.
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.