Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Duplikacja rekordów w bazie
netvalue
post
Post #1





Grupa: Zarejestrowani
Postów: 199
Pomógł: 2
Dołączył: 9.06.2008

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


temat do usunięcia

Ten post edytował netvalue 3.02.2014, 15:12:47
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
sowiq
post
Post #3





Grupa: Zarejestrowani
Postów: 1 890
Pomógł: 339
Dołączył: 14.12.2006
Skąd: Warszawa

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


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

Ten post edytował sowiq 3.02.2014, 12:49:55
Go to the top of the page
+Quote Post
netvalue
post
Post #4





Grupa: Zarejestrowani
Postów: 199
Pomógł: 2
Dołączył: 9.06.2008

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


tak zapisuje ID_kalkulacja i na podstawie tego zreszto czas co do sekundy tez jest ten sam...
Go to the top of the page
+Quote Post
sowiq
post
Post #5





Grupa: Zarejestrowani
Postów: 1 890
Pomógł: 339
Dołączył: 14.12.2006
Skąd: Warszawa

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


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

Ten post edytował sowiq 3.02.2014, 13:10:49
Go to the top of the page
+Quote Post
netvalue
post
Post #6





Grupa: Zarejestrowani
Postów: 199
Pomógł: 2
Dołączył: 9.06.2008

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


mam tez blokade "w trakcie"
Go to the top of the page
+Quote Post
nospor
post
Post #7





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




1) Albo ta blokada nie dziala
2) Albo twoj skrypt dodajacy sie mota.

Bez kodu nie mozna raczej nic wiecej powiedziec


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
phpion
post
Post #8





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Może skorzystaj z ON DUPLICATE KEY? Tyle tylko, że wymaga on oparcia o klucz główny / indeks unikalny.
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: 22.08.2025 - 11:27