![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 63 Pomógł: 0 Dołączył: 24.05.2007 Skąd: Bełchatów Ostrzeżenie: (10%) ![]() ![]() |
Jak powino wyglądać zapytanie wstawiające rekordy to na przyklad dwoch tabel jednoczesnie?
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 335 Pomógł: 34 Dołączył: 9.11.2005 Skąd: Wrocław Ostrzeżenie: (10%) ![]() ![]() |
Moim skromnym zdaniem możesz zrobić:
P.S.: Możliwe, że się myle. Ten post edytował in5ane 30.08.2007, 11:33:03 -------------------- > > > Tworzenie stron < < <
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 63 Pomógł: 0 Dołączył: 24.05.2007 Skąd: Bełchatów Ostrzeżenie: (10%) ![]() ![]() |
ale mi chodzi o to zeby jednym zapytaniem to zrobic
![]() |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 890 Pomógł: 65 Dołączył: 13.11.2005 Skąd: Olsztyn Ostrzeżenie: (0%) ![]() ![]() |
Nie da się. Nie istnieje składnia dla INSERTa na wiele tabel jednocześnie (choć dziwne to jest, przyznam)
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 590 Pomógł: 40 Dołączył: 11.01.2007 Skąd: Centrum Ostrzeżenie: (0%) ![]() ![]() |
Jakoś nie wydaje mi się, żeby była taka możliwość. Ja mimo tego, że w sql'u siedzę już ładnych parę lat nie spotkałem się z takim zapytaniem.
A dlaczego koniecznie musi być to jedno zapytanie do wielu tabel ![]() -------------------- 404
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 890 Pomógł: 65 Dołączył: 13.11.2005 Skąd: Olsztyn Ostrzeżenie: (0%) ![]() ![]() |
Bodajże w starych (początki 4) wersjach MySQL była taka możliwość. Ale może mi się przywidziało.
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 561 Pomógł: 75 Dołączył: 19.08.2004 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Kilka rekordów do 1 tabeli da się, 1 rekord do wielu tabel już nie.
Ale jeżeli chcesz to zrobić możliwie najwydajniej, wyklikaj funkcję, która jako argument przyjmie tablice z nazwami tabel, a w tej funkcji będzie realizowane query do bazy z miejsce nazwy tabeli wstawiając kolejne ementy z tablicy. Ten post edytował Grzyw 30.08.2007, 11:45:17 -------------------- Idąc po czyichś śladach, nie zajdziesz ani kroku dalej...
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 63 Pomógł: 0 Dołączył: 24.05.2007 Skąd: Bełchatów Ostrzeżenie: (10%) ![]() ![]() |
moze to troche smieszne co napisze, ale chciałem to napisac w jednym zapytaniu po to aby do tego jednego zapytania zrobic warunek:
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 890 Pomógł: 65 Dołączył: 13.11.2005 Skąd: Olsztyn Ostrzeżenie: (0%) ![]() ![]() |
Śmieszne bynajmniej to nie jest. Możesz zrobić to tak, że po każdym insercie, jeśli OK do tablicy idzie wartość, np true, a jak błąd to false. I dopiero po wszystkich zapytaniach sprawdzasz, czy w tablicy znajduje się wartość false (przynajmniej jedna). Jeśli tak - to komunikat błędu, jeśli nie, to znaczy że wszystko poszło ok. np:
Ten post edytował drPayton 30.08.2007, 11:53:46 |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 63 Pomógł: 0 Dołączył: 24.05.2007 Skąd: Bełchatów Ostrzeżenie: (10%) ![]() ![]() |
czyli w ten sposob?
|
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 353 Pomógł: 50 Dołączył: 28.07.2005 Skąd: Łaziska Górne Ostrzeżenie: (0%) ![]() ![]() |
-------------------- Sposób na życie? Uśmiech na twarzy :D
"Widzę więcej, wiem więcej, tak to jest mniej więcej" "NIE kradnij, rząd nielubi konkurencji" |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 359 Pomógł: 1 Dołączył: 16.04.2006 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
A co z transakcjami Panowie ?
![]() ![]() |
|
|
![]()
Post
#13
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 590 Pomógł: 40 Dołączył: 11.01.2007 Skąd: Centrum Ostrzeżenie: (0%) ![]() ![]() |
A co z transakcjami Panowie ? ![]() ![]() Nic ![]() Transakcje mogą tylko pomóc w przypadku gdy z 10 INSERTów przynajmniej jedno się nie powiedzie i wtedy chcesz wycofać pozostałe 9. Ale nie zmienia to faktu ze musisz wykonać 10 zapytań INSERT ... plus jedno na początku BEGIN TRANSACTION i w przypadku powodzenia COMMIT TRANSACTION lub w przypadku błędu ROLLBACK TRANSACTION. -------------------- 404
|
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 63 Pomógł: 0 Dołączył: 24.05.2007 Skąd: Bełchatów Ostrzeżenie: (10%) ![]() ![]() |
a tak przy okazji. Jaka funkcja zwraca id ostatniego inserta?
|
|
|
![]()
Post
#15
|
|
![]() Grupa: Przyjaciele php.pl Postów: 1 590 Pomógł: 40 Dołączył: 11.01.2007 Skąd: Centrum Ostrzeżenie: (0%) ![]() ![]() |
a tak przy okazji. Jaka funkcja zwraca id ostatniego inserta? Manual mówi: mysql_insert_id" title="Zobacz w manualu PHP" target="_manual -------------------- 404
|
|
|
![]()
Post
#16
|
|
![]() Grupa: Zarejestrowani Postów: 382 Pomógł: 0 Dołączył: 29.11.2005 Skąd: :jestem(); Ostrzeżenie: (0%) ![]() ![]() |
Wyzwalacz albo widok albo widok i wyzwalacz
![]() -------------------- Powyższy post wyraża jedynie opinię autora w dniu dzisiejszym. Nie może on służyć przeciwko niemu w dniu jutrzejszym. Ponadto autor zastrzega sobie prawo zmiany poglądów, bez podawania przyczyny.
|
|
|
--qooxdoo-- |
![]()
Post
#17
|
Goście ![]() |
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 23.07.2025 - 01:14 |