Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> UPDATE tabeli gdzie jest największa liczba
Mezir
post
Post #1





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 17.05.2015

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
kartin
post
Post #2





Grupa: Zarejestrowani
Postów: 246
Pomógł: 79
Dołączył: 25.05.2010

Ostrzeżenie: (0%)
-----


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


--------------------
Jeśli ten post pomógł to kliknij przycisk po lewej stronie.
Nie pomagam przez PW, GG, e-mail, faks, telegram, znaki dymne, ...
Go to the top of the page
+Quote Post
bobek358
post
Post #3





Grupa: Zarejestrowani
Postów: 143
Pomógł: 22
Dołączył: 17.11.2007

Ostrzeżenie: (0%)
-----


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ę.
Go to the top of the page
+Quote Post
kartin
post
Post #4





Grupa: Zarejestrowani
Postów: 246
Pomógł: 79
Dołączył: 25.05.2010

Ostrzeżenie: (0%)
-----


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.


--------------------
Jeśli ten post pomógł to kliknij przycisk po lewej stronie.
Nie pomagam przez PW, GG, e-mail, faks, telegram, znaki dymne, ...
Go to the top of the page
+Quote Post
bobek358
post
Post #5





Grupa: Zarejestrowani
Postów: 143
Pomógł: 22
Dołączył: 17.11.2007

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 11:31