Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [SQL][MySQL]UPDATE różnych wartości w jednym poleceniu
Marasek22
post
Post #1





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

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


Mam skrypt gdzie trzeba zaktualizować dane w zależności od przebiegu obliczeń
Obecnie to lata w pętli.
Rzecz w tym że nie chcę aktualizować co przebieg pętli mysql-a.
Np jest zapytanie:
CODE
$this->aa0=mysql_query("UPDATE `customers` SET `rat`=rat+$sc,`t`=t+1 WHERE `id`='".$this->aa1['id']."'");

Zmienne $sc i $this->aa1['id'] są zmienne w większości przypadków. Chodzi mi o to czy da się to jakoś wykolejkować aby zmniejszyć liczbę update'ów. Dla przykładu chcę zaktualizować dane kolumny rat na 6 kolumne t zwiększyć o 1 gdzie id = 1000 a kolumnę rat na 4 i zwiększyć t gdzie id =1200. Czy da się to ogarnąć w jednym poleceniu update czy trzeba lecieć po łebkach najpierw update rekordu o id 1000 potem update rekordu o id 1200?

Ten post edytował Marasek22 4.06.2012, 19:59:10
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
Tajgeer
post
Post #2





Grupa: Zarejestrowani
Postów: 290
Pomógł: 48
Dołączył: 11.05.2008
Skąd: Kielce

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


Dodaj zmienne pomocniczne, które będą zbierać odpowiednie wartości, a następnie za pętlą użyj je w zapytaniu.
Go to the top of the page
+Quote Post
Marasek22
post
Post #3





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

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


to akurat stosuję w zapytaniu:
CODE
$this->sq2=mysql_query("UPDATE `lc` SET `t`=t+1 WHERE `id` IN (".$upp10.")",$this->cn);

Tylko chodzi mi jak skonstruować zapytanie update gdzie wartości są różne?
UPDATE SET? WHERE? Chodzi żeby konkretne wartości dało do konkretnych rekordów i kolumn.

Czy update z wykorzystaniem podzapytania będzie mniej pracochłonne niż update po kolei określonych rekordów?

Ten post edytował Marasek22 4.06.2012, 20:13:02
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 - 20:33