Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Duplikacja rekordów w bazie
Forum PHP.pl > Forum > Bazy danych > MySQL
netvalue
temat do usunięcia
nospor
Skoro funkcje odpalasz co sekunde, calkiem prawdopodobne jest, ze bylo jakies opoznienie, chocby na poziomie bazy, przez co zapytania wykonywaly sie kilka sekund a w tym czasie wskoczyly kolejne obliczenia
sowiq
Cytat(netvalue @ 3.02.2014, 12:43:45 ) *
Zauważyłem ostatnio że wynik zostały wstawiony (kolejne id np 15 i 16) dwa rekordy dla jednego obliczenia...

A na jakiej podstawie to stwierdziłeś? Zapisujesz jakieś ID kalkulacji, czy raczej po dacie zapisu do bazy?

Cytat(netvalue @ 3.02.2014, 12:43:45 ) *
Zakłądając że nie ma błędów w skrypcie i wszystko jest liczone prawidłowo

Zakładać sobie można wszystko smile.gif
netvalue
tak zapisuje ID_kalkulacja i na podstawie tego zreszto czas co do sekundy tez jest ten sam...
sowiq
Więc wychodzi na to, że Twój skrypt nie jest taki bezbłędny wink.gif

Zgodnie z tym, co napisał @nospor, podejrzewam, że odpalasz nowe zadanie jeszcze zanim poprzednie się zakończy. Pewnie gdzieś zapisujesz, że kalkulacja została już wykonana. Widocznie robisz to dopiero po zakończeniu działania zadania. Jeśli pierwsze zadanie "A" jeszcze trwa, a uruchomione zostało kolejne "B", to "B" bierze pierwszą "wolną" kalkulację. Ponieważ nie ma informacji, że kalkulacja "A" jest już obliczana, to "B" oblicza ją jeszcze raz smile.gif

Oprócz "obliczono", zapisuj sobie również "w trakcie" wink.gif
netvalue
mam tez blokade "w trakcie"
nospor
1) Albo ta blokada nie dziala
2) Albo twoj skrypt dodajacy sie mota.

Bez kodu nie mozna raczej nic wiecej powiedziec
phpion
Może skorzystaj z ON DUPLICATE KEY? Tyle tylko, że wymaga on oparcia o klucz główny / indeks unikalny.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.