Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Kasowanie rekordów
php__amator
post
Post #1





Grupa: Zarejestrowani
Postów: 217
Pomógł: 1
Dołączył: 26.05.2011
Skąd: Moon

Ostrzeżenie: (10%)
X----


Witajcie przedszkolaki wink.gif

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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
Damonsson
post
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?
Go to the top of the page
+Quote Post
klima06
post
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? tongue.gif
Go to the top of the page
+Quote Post
SmokAnalog
post
Post #4





Grupa: Zarejestrowani
Postów: 1 707
Pomógł: 266
Dołączył: 3.07.2012
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Cytat(klima06 @ 22.10.2013, 18:56:42 ) *
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.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 03:55