Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [mysql] update - duzo aktualizacji w jednym zapytaniu
wojtek22
post
Post #1





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 19.12.2015

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


  1. UPDATE raport_test
  2. SET kolumna1 = CASE id
  3. WHEN 1 THEN '3z'
  4. END,
  5. kolumna2 = CASE id
  6. WHEN 1 THEN 'yyy'
  7. END
  8. WHERE id IN (1)


czy to zapytanie jest poprawne
problem mam taki ze w przypadku gdy jak zmienie jakąś wartość dla kolumny i wykonam zapytanie
to zwraca mi ze zmodyfikowano 1 rekord

ale w przypadku gdy dla danego id nie bylo zadnej zmiany i wykonam to zapytanie jeszcze raz to on wogole tego nie aktualizuje
zwraca mi ze zmodyfikowano 0 rekordow

czy system przed aktualizacja sprawdza czy cos sie zmienilo i robi aktualizacje tylko jak są jakieś zmiany?

w specyfikacji https://dev.mysql.com/doc/refman/5.7/en/case.html
jest tam jeszcze ELSE - do czego to służy ?

Ten post edytował wojtek22 2.01.2016, 14:56:41
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Pyton_000
post
Post #2





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


To zapytanie jest trochę bez sensu. Poprawne ale bez sensu. 2x sprawdzasz ten sam warunek (raz w Case a raz w Where)

Wywal to CASE i zostaw same wartości. Efekt będzie dokładnie taki sam.
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 3.10.2025 - 05:44