Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: aktualizowanie po selekcie
Forum PHP.pl > Forum > Bazy danych > MySQL
b0b3k
Mam problem z pobraniem danych, a następnie ich aktualizacją. Najpierw chce wyciągnac id_tagu który pasuje określonym kryteriom a pozniej odjąć od count -1 w UPDATE dla id tego tagu....


probowalem z :

  1. UPDATE x_tagi SET count = count-1 WHERE x_tagi_filmy.id_filmu = '159' AND id_tagu = (SELECT id_tagu FROM x_tagi_filmy WHERE id_filmu = '159')


i z :

  1. SELECT x_tagi.id_tagu, x_tagi_filmy.id_filmu
  2. FROM x_tagi LEFT JOIN x_tagi_filmy ON x_tagi_filmy.id_tagu = x_tagi.id_tagu
  3. WHERE x_tagi.id_tagu != '38' AND id_filmu =159 FOR UPDATE; UPDATE x_tagi SET count = count -1


Ten drugi kod pobiera dobrze 1 rekord, natomiast przy UPDATE juz modyfikuje wszystkie :/
dr_bonzo
Co do drugiego kodu
Cytat
przy UPDATE juz modyfikuje wszystkie

no i dziala prawidlowo, tzn. robi to co napisales:
  1. UPDATE x_tagi SET count = count -1

modyfiukuje wszystkie. Musisz wybrac rekord, ktory ma byc zmodyfikowany. Masz juz to ID tagu wiec uzyj go w warunku WHERE.
---------

Skoro uzywasz SELECTa to wyciagasz ID tego taga (mysql_fetch_*()) i podstawiasz do kolejnego zapytania UPDATE.
Mozesz pokombinowac i zrobic to z podzapytaniami, ale pierwsza opcja jest latwiejsza do wykonania.
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.