Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: UPDATE tabeli gdzie jest największa liczba
Forum PHP.pl > Forum > Bazy danych > MySQL
Mezir
Witam, chciałbym stworzyć zapytanie z update tabeli i zaktualizować ostatni czas gdzie jest największa liczba(czasu w sekundach) w kolumnie data, jak to zrobić?
Aktualnie moje zapytanie wygląda tak:
  1. UPDATE admin_duty SET DATA="'.$czas.'" WHERE identifier="'.$client['client_unique_identifier'].'" LIMIT 1


Z góry dzięki za pomoc, pzodrawiam. smile.gif
kartin
Posortować malejąco względem daty i zaktualizować pierwszy wiersz:
  1. UPDATE admin_duty
  2. SET `DATA` = 12345678
  3. ORDER BY `DATA` DESC
  4. LIMIT 1
bobek358
Z tym limit 1 w update trzeba uważać - miałem przypadek, że wywołany w phpMA działał ok a już przez mysql_query aktualizował całą tablicę.
kartin
Cytat(bobek358 @ 10.08.2015, 15:05:54 ) *
Z tym limit 1 w update trzeba uważać - miałem przypadek, że wywołany w phpMA działał ok a już przez mysql_query aktualizował całą tablicę.


Zasadniczo nie jest to możliwe. Zapytanie wykonywane jest dokładnie tak samo niezależnie od sposobu przesłania do serwera. Poza tym dokumentacja wyraźnie opisuje jak działa LIMIT w UPDATE.
Cytat
The LIMIT clause places a limit on the number of rows that can be updated. (…) You can use LIMIT row_count to restrict the scope of the UPDATE. A LIMIT clause is a rows-matched restriction. The statement stops as soon as it has found row_count rows that satisfy the WHERE clause, whether or not they actually were changed.
UPDATE Syntax

Nie można jednak użyć LIMIT jeśli używa się jednocześnie kilku tabel w UPDATE.

Mogłeś mieć jakiś błąd w kodzie i przesyłane było inne zapytanie niż się wydawało. Spróbuj odnaleźć fragment kodu wraz z zapytaniem które tak działało.
bobek358
Musiałbym szukać gdzieś w repo, jednak tak było. Szukałem 3 dni problemu w aplikacji, która aktualizowała całą tabelę. Zapytanie było typu UPDATE tabela SET Sprzedany = 2 WHERE Punkt=X AND SAP=XXXXXX LIMIT 1. W phpMA było ok ale system robił całościowy update.
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.