![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 83 Pomógł: 1 Dołączył: 25.02.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam, mam takie dwie tabele w bazie danych:
tabela "dane" ilsoc_userow int ... tabela "uzytkownicy" id_usera int (PRIMARY KEY) .... Podczas zakladania nowego konta (wpis przez INSERT) calosc dziala w ten sposob: pobierz ilosc userow -> $ilosc=ilosc_userow+1 -> zapisz ilosc userow w "dane" -> utworz przez INSERT wpis w "uzytkownicy" gdzie "id_usera"=$ilosc no i wszystko byloby cacy, gdyby nie to, ze jezeli 2-ch uzytkownikow zalozy konto w tej samej sekundzie to jeden wpis robi sie poprawnie, a drugi jest pusty (wpis bez zadnych danych) Jak mozna temu zaradzic? -------------------- Pomogłem? Kilknij "Pomógł"
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 2 178 Pomógł: 596 Dołączył: 25.09.2009 Skąd: Piwniczna-Zdrój Ostrzeżenie: (0%) ![]() ![]() |
Kolumna id_usera powinna zwiększać się automatycznie. Ilość user-ów ma niewiele (a na pewno nie powinna mieć nic) wspólnego z ich identyfikatorami. System jest źle zaprojektowany.
EDIT Liczbę user-ów (bez tych, którzy np. konto usuną) można pobrać zawsze:
Gwoli wyjaśnienia. Załóżmy, że w systemie masz 5 użytkowników: id nazwa 1 user1 2 user2 3 user3 4 user4 5 user5 W takim wypadku w tabeli dane ilosc_userow jest równa 5. Załóżmy, że użytkownik 1 usunie konto. Wtedy ilosc_userow jest równa 4. Dodanie nowego usera powoduje, że ilosc_userow znowu się zwiększa do 5, ale w bazie danych jest już użytkownik o id 5 i nie można dodać takiego użytkownika. Nic z tym nie zrobisz, po prostu system jest źle zaprojektowany. Ten post edytował mortus 7.09.2011, 17:22:02 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 02:48 |