Update rekordu z najwyzszym id

Update rekordu z najwyzszym id
FI
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 470
0

Staram sie zmienic wartosc pola "miejscowosc" dla wiersza o najwyzszym id w tablicy klienci.

Kopiuj
UPDATE klienci SET miejscowosc = "adsdsds" WHERE (SELECT MAX(idklienta))

jednak nie jest zmieniany jeden wiersz, a wszytkie w tablicy. Gdzie robie blad?

Patryk27
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
  • Postów: 13042
1

Przypuśćmy, że to Twoje SELECT MAX(idklienta) zwróciło 80, wtedy masz takie zapytanie:
UPDATE klienci SET miejscowosc = "adsdsds" WHERE 80
Chyba już widzisz problem :P

Marcin.Miga
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2794
1

W MySQL możesz również użyć LIMIT przy UPDATE. Czyli cos w ten deseń:

Kopiuj
UPDATE klienci SET miejscowosc='adsdsds' ORDER BY id LIMIT 1

Ale to nie jest to samo co powyżej, bo tu będzie updejtowany dokładnie jeden rekord...

K8
  • Rejestracja: dni
  • Ostatnio: dni
0

Raczej tak powinno być:
Where idklienta = ( select max(idklienta))

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.