Staram sie zmienic wartosc pola "miejscowosc" dla wiersza o najwyzszym id w tablicy klienci.
UPDATE klienci SET miejscowosc = "adsdsds" WHERE (SELECT MAX(idklienta))
jednak nie jest zmieniany jeden wiersz, a wszytkie w tablicy. Gdzie robie blad?
Staram sie zmienic wartosc pola "miejscowosc" dla wiersza o najwyzszym id w tablicy klienci.
UPDATE klienci SET miejscowosc = "adsdsds" WHERE (SELECT MAX(idklienta))
jednak nie jest zmieniany jeden wiersz, a wszytkie w tablicy. Gdzie robie blad?
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
W MySQL możesz również użyć LIMIT przy UPDATE. Czyli cos w ten deseń:
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...
Raczej tak powinno być:
Where idklienta = ( select max(idklienta))