Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [sql] UPDATE do dwóch tabel
Forum PHP.pl > Forum > Bazy danych
M@X
Mam takie zapytanie:
  1. $update='UPDATE tab1, tab2 SET tab1.miasto="'.Zabezpiecz($miasto_).'", tab2.kwoty="'.Zabezpiecz($kwoty_).'", tab1.kto="'.($_SESSION['user']).'", tab1.data=NOW() WHERE tab1.ID_klienta="'.$id_edit_.'"';

Chodzi o UPDATE w dwóch tabelach. W tab1 ładnie zapisuje, ale z tab2 kolumne kwoty są problemy, podczas edycji nadpisuje wszystkie rekordy tą samą wartością. Problem w tym że musze gdzieś tutaj ująć coś w tym stylu: nr_wplaty="'.$nr_wplaty_.'" ale troche mi się krzaczy jak wpisuje je w te zapytanie.
nr_wplaty - to unikalny identyfikator dla kazdego rekordu w tab2.
kwoty - to kolumna w tab2.

Na logike to powinno byc gdzieś w WHERZE ale nie moge do tego dojść.
nospor
w jakis sposob tab2 musi byc powiązane z tab1. Musisz to powiązanie ujac w WHERE
M@X
w obydwu tabelach jest kolumna ID_klienta
ale proszę o pomoc właśnie w jaki sposób to dopisać do tego WHERA ?
nospor
O and nie slyszal?
  1. <?php
  2. $update='UPDATE tab1, tab2 SET tab1.miasto="'.Zabezpiecz($miasto_).'", tab2.kwoty="'.Zabezpiecz($kwoty_).'", tab1.kto="'.($_SESSION['user']).'", tab1.data=NOW() WHERE tab1.ID_klienta="'.$id_edit_.'" and tab2.ID_klienta=tab1.ID_klienta';
  3. ?>
M@X
hmm ok to eliminuje jedną kwestie, jeśli w tab2 jest jeden rekord to jest ok, ale w momencie jak jest kilka rekordów dla danego ID to nie nadpisuje ich
M@X
tam są tak jakby dwa powiązania:

tab1:
id1
id2
id3
...

tab2
id1, kwota
id1, kwota
id2, kwota
id3, kwota

Czyli w przypadku id2 i id3 nadpisuje ok (czyli tam gdzie jest po jednym rekordzie)
ale id1 już nie nadpisuje bo jest kilka rekordów
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.