Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL]Problem z SQL UPDATE
Forum PHP.pl > Forum > Przedszkole
Greg23
Mam taką tabelę:

id imie nazwisko update
1 Adam Nowak
2. Adam Nowak
3. Adam Nowak

Teraz chciałbym updatować kolumny wg zasady:

  1. UPDATE `table` SET `update`='aaa' WHERE imie=adam LIMIT 2";


To zadziała w ten sposób, żę dla 1 i 2 rekordu kolumna update będzie miała wartość 'aaa' a 3 się nie zmieni.
Jak spowodować, żeby update działał od końca, tzn ustawił 'aaa' dla kolumny 2 i 3 pomijając 1 questionmark.gif

Próbowałem przy updacie dać order by id desc, ale tak to nie zadziała.
Jak to zrobić ?
CuteOne
- pobierasz listę użytkowników z podanym parametrem czyli SELECT id WHERE imie=adam ORDER BY id DESC LIMIT 2
- w pętli tworzysz zapytanie
  1. while() {
  2. $query .= ', '.$row['id'];
  3. }

tak aby można było użyć WHERE id IN ($query)

lub
  1. UPDATE `table` SET `u` = 'aaa' WHERE id IN ((SELECT id WHERE imie=adam ORDER BY id DESC LIMIT 2))

(szczerze nie wiem czy ten sposób zadziała tongue.gif - nie powinien ale warto spróbować)
hateman
A co to za cudzysłów tam na końcu zapytania?
U mnie zadziałało coś takiego:

  1. UPDATE `table` SET `update`='aaa' WHERE imie=adam ORDER BY `id` DESC LIMIT 2
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.