![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 2 592 Pomógł: 445 Dołączył: 12.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
Mam taki mini problem.
Dodaję sobie listę użytkowników z adresami email. W bazie przechowuję oddzielnie adresy email (z innymi danymi), a oddzielnie dane danego użytkownika (wraz z innymi danymi). Struktura w uproszczeniu wygląda tak: USR (ID, NAME ....) USR_MAILS (USR_ID, EMAIL ....) (USR_ID wskazuje na tablę USR pole ID ![]() Teraz chciałbym aby dodawanie użytkowników przebiegało w możliwie jak najmniejszej liczbie zapytań. Co do samego INSERT dla USR to sprawa jest prosta (w uproszczeniu):
Natomiast dodawania maili do USR_MAILS w jednym zapytaniu już nie potrafię stworzyć. Mam 2 rozwiązania: 1. Iterując po odbiorcach mogę tworzyć INSERT ... SELECT dla USR_MAILS i podawać w parametrze nazwę 2. Pobierać lastInsertId, i dodawać do drugiego zapytania (jednak wtedy pierwsze zapytanie musiałoby być oddzielnie dla każdego wpisu) Macie może pomysły na jakieś inne rozwiązanie? Jest jakaś opcja INSERT wraz z JOIN? Bo jak na razie mam 1 zapytanie dla USR i n zapytań dla USR_MAILS lub n zapytań dla USR i jedno zapytanie dla USR_MAILS. Ten post edytował vokiel 15.10.2009, 09:47:34 -------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 23.07.2025 - 01:07 |