![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 217 Pomógł: 1 Dołączył: 26.05.2011 Skąd: Moon Ostrzeżenie: (10%) ![]() ![]() |
Witajcie przedszkolaki
![]() Mam dzisiaj kolejna serie byc moze idiotycznych pytan ale jak dotad nie znalazlem nigdzie odpowiedzi na nie. Co z tym zrobic. Mianowicie, kasuje rekord i .... pozostaje 'dziura' ktora troche mi przeszkadza. Jak spowodowac przesuniecie rekordow aby ja zalatac a co za tym idzie jesli przesuna sie rekordy. Automat nadajac kolejne numery nowym wpisom tez musi byc o tym poinformowany zeby nastepny dopisany znowu nie spowodowal kolejnej 'dziury'. Podczas odczytu z bazy w sumie moglbym warunkowo pozwalac lub nie na wyswietlanie zawartosci, Jesli np rekord jest pusty pomin - tylko jak powinien wygladac taki warunek ? Jest na to jakis patent ? Pozdrawiam Ten post edytował phpamator 22.10.2013, 16:28:43 |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 2 355 Pomógł: 533 Dołączył: 15.01.2010 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Gdzie ta dziura? W ogródku u Ciebie?
Chodzi Ci o auto inkrementacje w bazie danych? W jaki sposób przeszkadza? |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 48 Pomógł: 10 Dołączył: 21.10.2011 Skąd: UK / PL Ostrzeżenie: (0%) ![]() ![]() |
Jeśli chodzi Ci o auto_increment to niestety musisz się przyzwyczaić, że nie zawsze pole te będzie ładnie wyglądało. To normalna sprawa, że niektóre ID zostają niewykorzystane. Przy pobieraniu danych z bazy nie musisz się przejmować, bo jeśli rekord usunąłeś poprawnie to po prostu on Ci się nie wyświetli, a ID zostanie pominięte np [1, 2, 4, 5, 8].
Jeśli rekord usuwasz poprawnie, to nie masz czym się przejmować i żadne "dziury" nie powstają. Jeszcze dla pewności zapytam się jak usuwasz rekordy, bo w tym dziale wszystko jest możliwe? ![]() |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 1 707 Pomógł: 266 Dołączył: 3.07.2012 Skąd: Poznań Ostrzeżenie: (0%) ![]() ![]() |
Jeśli rekord usuwasz poprawnie, to nie masz czym się przejmować i żadne "dziury" nie powstają. To nie jest prawda, dziury zawsze powstają w polach typu auto increment, sposób usuwania rekordów nie ma tu najmniejszego znaczenia. Te dziury mają sens, choć na początku mojej przygody z MySQL też miałem ochotę je łatać. Moja rada jest taka: jeśli rzeczywiście potrzebujesz numerowania rekordów bez dziur, to stwórz do tego osobną kolumnę. Niech klucz ma sobie auto increment. W dobrze zaprojektowanej bazie danych, klucz nie ma żadnej wartości informacyjnej, jest niezależnym polem służącym tylko do łączenia rekordów z innymi rekordami. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 03:55 |