![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 33 Pomógł: 0 Dołączył: 31.01.2004 Ostrzeżenie: (20%) ![]() ![]() |
Witam
Mam takie dwa zapytania do bazy danych. Problem polega na tym, że nie wiem jak najprościej dodać od razu ten sam id do obu tabel. Tzn pierwsze zapytanie powoduje zapis danych i przydziela automatycznie id (auto_increment) w tabeli "users". I teraz jak od razu ten id dodać do drugiej tabeli "users_info" w polu IDuser. Czy da się to zapisać np. jako jeden INSERT, czy trzeba stosować SELECT po pierwszym dodaniu żeby wyciągnąć id danego użytkownika. ![]()
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 286 Pomógł: 0 Dołączył: 1.11.2003 Skąd: Poland, Płock Ostrzeżenie: (0%) ![]() ![]() |
-------------------- ![]() |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 1 640 Pomógł: 28 Dołączył: 13.02.2003 Skąd: Międzyrzecz/Poznań Ostrzeżenie: (0%) ![]() ![]() |
Podac jaki bedzie nastepny ID i dodac go wtedy w dwoch tabelach
![]() -------------------- PHP Developer
"Nadmiar wiedzy jest równie szkodliwy jak jej brak" Émile Zola |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 33 Pomógł: 0 Dołączył: 31.01.2004 Ostrzeżenie: (20%) ![]() ![]() |
dzięki
mysql_insert_id() świetnie się sprawuje. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 166 Pomógł: 0 Dołączył: 1.04.2004 Skąd: Gdynia Ostrzeżenie: (0%) ![]() ![]() |
Cytat(kicaj_ @ 2004-07-03 23:11:33) Podac jaki bedzie nastepny ID i dodac go wtedy w dwoch tabelach ![]() Tutaj może pojawić się błąd jeśli dwóch, albo więcej, użytkowników próbuje wpisać coś do bazy równocześnie. -------------------- Nigdy nie kłóć się z głupim, ludzie mogą nie dostrzec różnicy.
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław ![]() |
Błąd w rozumowaniu.
Skoro mamy user_id z pierwszej tabeli, to w drugiej mamy pola: id, user_id pierwsze służy do identyfikacji rekordu w tabeli, drugi linkuje rekordy z dwu tabel. Niewielki nadmiar danych nie przeszkadza a algorytm łatwiejszy i bardziej odporny na usterki. -------------------- |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 33 Pomógł: 0 Dołączył: 31.01.2004 Ostrzeżenie: (20%) ![]() ![]() |
Tylko że ja musze dodać do dwóch tabel w tym samym czasie. Tzn. Jak użytkownik się zapisuje, i dlatego chciałem od razu znać id_user z pierwszej tabeli żeby był ten sam id_user w drugiej.
A w users_info mam kolumne id do identyfikacji wiersza, tylko że to jest auto_increment wiec nie jest wpisana w INSERT. Teraz mam tak;
I dzięki temu mam od razu id z pierwszej tabeli, i wstawiam go jako IDuser. Mam tylko pytanie, czy takie rozwiązanie jest bezpieczne, czy np jeśli ktoś wpisuje się w tym samym czasie to może pobrać jego id ![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 24.06.2025 - 02:14 |