![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 29.02.2012 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Prosze o podpowiedź. Mam do zrealizowania zadanie zmiany wartości kolumny cena znajdującej się w tabeli prodct ale tylko w jednej kategorii (druga tabela ). Kategorie zapisane są w 2 tabeli o nazwie category nazwa kolumny id_category Potrzebuje zmienić ceny w kategori 3. Tworze zapytanie które jednak zmienia mi wszystkie ceny w całej bazie. update product SET product.cena =product.cena+5 WHERE category.id_category=3 Gdzie błąd ? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 559 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat Czy zawsze gdy chce zrobic update jednej tabeli w oparciu o dane z drugiej musze dokonac takiego porownania jak w przypadku product_id ? Nie, nie musisz. Teraz musiałeś bo jedno pole nazywało się category_id a tego mysql nie toleruje...... (IMG:style_emoticons/default/wink.gif) Oczywiście że musisz. Cytat robi update dla wszystkich cen z kazdej kategorii. Bo nie zrobiłeś powiązania miedzy tabelami.Zrób sobie select z dwóch dabel bez powiązania ich w where a zobaczysz ze dostaniesz zdecydowanie wiecej danych niż oczekiwales. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 9.10.2025 - 15:12 |