[SQL]Powiązane ze sobą zapytania |
[SQL]Powiązane ze sobą zapytania |
2.08.2012, 11:19:10
Post
#1
|
|
Grupa: Zarejestrowani Postów: 500 Pomógł: 1 Dołączył: 29.09.2009 Ostrzeżenie: (0%) |
Witam, Przy rejestracji użytkownika muszę wprowadzić kilka rekordów do oddzielnych tabel.
Najpierw do tabeli użytkowników, potem do tabeli z kodem aktywacyjnym a na końcu do jeszcze jednej. Do tych dwóch ostatnich tabel potrzebuję id właśnie wprowadzonego użytkownika. To nie będzie problemem (pdo->lastInstertId). Tylko teraz chciałbym mieć pewność, że jeżeli nie wykona się pierwsza zapytania to nie wykona się i drugi i trzecia, a jeżeli np. nie wykona się 3 to nie wykona się i pierwsze i drugie. Da radę takie coś zrobić? Czytałem coś żeby użyć do tego transakcji, ale jak wtedy pobrać id użytkownika wprowadzonego właśnie do bazy? |
|
|
2.08.2012, 12:22:50
Post
#2
|
|
Grupa: Zarejestrowani Postów: 2 958 Pomógł: 574 Dołączył: 23.09.2008 Skąd: wiesz, że tu jestem? Ostrzeżenie: (0%) |
Przykład z manuala
Innymi słowy, możesz wykonać kilka zapytań do bazy w trakcie jednej transakcji |
|
|
2.08.2012, 12:26:17
Post
#3
|
|
Grupa: Zarejestrowani Postów: 375 Pomógł: 20 Dołączył: 28.07.2006 Ostrzeżenie: (0%) |
Możesz pobrać ID użytkownika nawet wewnątrz transakcji. Jeżeli używasz MySQL, wybierz typ tabel InnoDB, bo MyISAM nie obsługuje transakcji. Wygląda to tak:
Ten post edytował WebCM 2.08.2012, 12:29:06 -------------------- „Jesteśmy różni, pochodzimy z różnych stron Polski, mamy różne zainteresowania, ale łączy nas jeden cel. Cel ten to Ojczyna, dla której chcemy żyć i pracować.” Roman Dmowski
|
|
|
Wersja Lo-Fi | Aktualny czas: 8.06.2024 - 10:58 |