Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 26.03.2011 Ostrzeżenie: (0%)
|
Witam , mam pytanie.
Czy istnieje konstrukcja zapytania UPDATE , podobna do konstrukcji zapytania INSERT ? Chodzi mi dokładnie o coś takiego:
Czy jeżeli chce zrobić update wielu wierszy , każdy o innym id , to muszę za każdym razem wysyłać zapytanie do bazy o każdy zmieniany wiersz ? Nie da się wysłać jednego dużego zapytania jak w konstrukcji INSERT ? A może skorzystać z instrukcji INSERT ON DUPLICATE KEY UPDATE ? Pytam ponieważ potrzebuje "zoptymalizować" ruch sieciowy i wysyłać jak najmniej pakietów. Lepiej wysłać jeden duży niż kilka małych. Pozdrawiam i dziękuje za wszelaką pomoc. |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 107 Pomógł: 30 Dołączył: 19.02.2011 Skąd: Warszawa Ostrzeżenie: (0%)
|
Skoro takie aktualizacje chcesz robić często, to spróbuj innego chwytu:
1. PREPARE - przygotowujesz instrukcję (1 raz na początku). W treści mogą być znaki "?" (placeholdery) - miejsca na podstawienie konkretnych wartości. 2. EXECUTE ... USING <lista wartości> - właściwe wykonanie. Zysk polega na szybkości, bo PREPARE wykonujesz 1 raz, a potem taką instrukcję możesz wielokrotnie i szybko wykonać z podstawieniem konkretnych wartości. Szczegóły doczytaj na stronie: http://dev.mysql.com/doc/refman/5.1/en/sql...statements.html To co powyżej - wykonujesz na poziomie SQL. Możesz spróbować jeszcze innego wariantu: W ramach biblioteki PDO są funkcje prepare i execute o podobnej funkcjonalności. Zobacz na stronie: http://pl.php.net/manual/pl/pdo.prepare.php Wątpię jednak czy to będzie szybsze. Poza tym pytanie - jaką biblioteką operujesz obecnie na bazie i czy chce Ci się zmieniać na PDO? Na koniec uwaga do propozycji Przedmówcy: W dokumentacji MySQLnie mogę się doszukać opisu zdania UPDATE FROM <tablica>. Czy to na pewno chodzi w MySQL? Ten post edytował Valdi_B 28.03.2011, 08:13:16 |
|
|
|
imbabo Update wielu wierszy 26.03.2011, 16:16:02
JoShiMa może WHERE id IN(...) 26.03.2011, 17:22:51
imbabo Może i to by działało , tylko jak teraz podać wart... 26.03.2011, 17:57:17
JoShiMa Nie no tak to się nie da. 26.03.2011, 19:26:36
prachwal wgraj te dane które chcesz poprawić do jakiejś tab... 26.03.2011, 19:34:44
imbabo Też mnie to nie urządza, wyjaśnie dlaczego.
Otóż ... 26.03.2011, 20:52:05
prachwal to xrób tabele na stałe!
później robisz
[SQL... 26.03.2011, 21:49:59
prachwal masz rację słowo FROM jest zbędne 28.03.2011, 08:44:47 ![]() ![]() |
|
Aktualny czas: 28.12.2025 - 08:18 |