• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

PHP Tablice haszujące, a baza danych mysql, rozwiązanie problemu kolizji

+1 głos
268 wizyt
pytanie zadane 4 stycznia 2021 w PHP przez Mateusz Analityk Stary wyjadacz (13,740 p.)
Mam problem z określaniem numeru id dla nowych elementów tabeli mysql. Tzw. problem kolizji, czasem się zdarza że dla danego elementu już istnieje element w bazie danych. Pojedyncze numery mi się rozjeżdżają i przy dodawania elementu pojawia mi się błąd SQLSTATE[23000].

Liczę po kolei ile mam wierszy w tabeli mysql potem na końcu dodaję mój nowy element co jest dość jak widać problematyczne jeśli się usuwa w między czasie pojedyncze  wiersze wiersze tabeli, bo wierszy ubywa i automatycznie spada ten zliczony numer ID.

Wpadłem na pomysł na rozwiązaniu tego problemu tablicami haszującymi. Pytanie czy robi się to w php? A może są jakieś już gotowe zaimplementowane funkcje do liczenia tego id z rozwiązaniem problemu kolizji? Może istnieje lepsze rozwiązanie tego problemu?

1 odpowiedź

+3 głosów
odpowiedź 5 stycznia 2021 przez adrian17 Mentor (355,240 p.)
Chwila... a dlaczego nie używasz zwykłego auto-increment dla kolumny id? Wtedy MySQL zajmuje się tym całkowicie za Ciebie.
1
komentarz 5 stycznia 2021 przez Mateusz Analityk Stary wyjadacz (13,740 p.)
Dzięki sprawdziłem problem miałem w tworzonym przeze mnie zapytaniu SQL, nie wiem co robiłem wcześniej źle, jak teraz spojrzałem na świeżo po kilku poprawkach wszystko znów zaczeło śmiga

Dzięki za niekierunkowanie, taki pomysł miałem jeszcze z pisania wcześniej języku C, po swojemu bym jeszcze się pewnie długo nakombinował

Podobne pytania

0 głosów
4 odpowiedzi 1,343 wizyt
pytanie zadane 24 sierpnia 2018 w SQL, bazy danych przez progNewbie Obywatel (1,130 p.)
0 głosów
2 odpowiedzi 853 wizyt
pytanie zadane 16 października 2018 w SQL, bazy danych przez s1mx Nowicjusz (120 p.)
0 głosów
1 odpowiedź 452 wizyt
pytanie zadane 27 października 2019 w SQL, bazy danych przez htkuba Użytkownik (700 p.)

93,786 zapytań

142,748 odpowiedzi

323,418 komentarzy

63,391 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...