Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: pole autoincrement w bazie danych
Forum PHP.pl > Forum > Bazy danych
a79rtur
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
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
Jednak jeśli dobrze pamiętam wartośc następnego autoincrement można zmodyfikować, ale tutaj już trzeba by zajrzeć do manuala i pogrzebać.
mpps
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 winksmiley.jpg
jak znajdę, to Ci podeślę na PW
FiDO
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
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
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.
Invision Power Board © 2001-2025 Invision Power Services, Inc.