![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 10.11.2004 Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Jeśli ktoś z forumowiczów spotkał się już z problemem, który opiszę poniżej proszę o odpowiedź! Zakładamy, że mamy dowolny skrypt, który nawiązuje połączenie z bazą danych, a następnie wykonuje zapytanie zawierające instrukcję UPDATE. Zapytanie jest wykonywane podwójnie. Np.:
Okazuje się, że po wykonaniu IDENTYCZNEGO zapytania (odnoszącego się do tych samych danych) dwukrotnie w tym samym czasie (do 0.5s) okazuje się, że drugie zapytanie nie jest już wykonywane. Jeżeli opóźnimy 2 zapytanie o 0.5s to oba zapytania zostaną wykonane poprawnie. Czy istnieje inny sposób (bez wykorzystania funkcji sleep, usleep) opóźnienia zapytań tak, aby mogły wykonać się jedno po drugim? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Hehe, tez kiedyś się na to nadziałem, ale nauczony doświadczeniem już wiem dlaczego tak sie dzieje.
Baza danych nie wykonuje polecenia UPDATE jeśli wstawiane wartości są identyczne z wartościemi obecnymi w rekordzie. Stąd Twoje drugie zapytanie nie jest wykonywane. Obserwacje poczynione na MySQL'u, choć podejrzewam, że taka jest specyfika każdej bazy. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 135 Pomógł: 0 Dołączył: 30.09.2005 Skąd: k-rk Ostrzeżenie: (0%) ![]() ![]() |
jest tez:
czesto korzystam aby sie dowiec dokladnie co sie stalo po wywolaniu zapytania Kod UPDATE String format: Rows matched: 65 Changed: 65 Warnings: 0 potem kropelka wyrazen regularnych i juz moge wyswietlac, takie obejscie mysql_affected_rows dla zapytań UPDATE -------------------- There are 10 types of people in the world:
-Those who understand binary, and those who don't... There's no place like 127.0.0.1 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 04:34 |