Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Pobranie indeksu przez kilka osób jednocześnie
gucio1
post
Post #1





Grupa: Zarejestrowani
Postów: 108
Pomógł: 0
Dołączył: 30.04.2016

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


Witam,
tworzę sklep internetowy który ma działać 100% bez obsługi czyli płatności tylko elektroniczne.

Pisząc, wpadłem na myśl co się stanie jeśli powiedzmy 10 osób na raz złoży zamówienie w tym samym czasie i z bazy danych zostanie pobrany kolejny numer id zamówienia.
Czy może wystąpić błąd w postaci pobrania tego samego id przez 2 osoby jeśli złożyły by zamówienie dokładnie w tej samej milisekundzie czy tam najmniejszej jednostce czasu jaką obsługuje sql?

Powinienem jakoś się przed tym zabezpieczyć? Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
LowiczakPL
post
Post #2





Grupa: Zarejestrowani
Postów: 531
Pomógł: 55
Dołączył: 3.01.2016
Skąd: Łowicz

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


Numerem zamówienia może być ID zamówienia lub jakiś hash aby nikt nie wiedział które to zamówienia,

Możesz sobie napisać klasę do autonumeracji, która generuje kolejny numer i na czas generowania blokuję bazę w celu wygenerowania kolejnego numeru, cała operacja trwa milisekundy więc kolejny użytkownik nawet tego nie zauważy.

Ja mam tak zrobione w Symfony do generowania numerów zamówień.

transakcje i blokada

Ten post edytował LowiczakPL 20.06.2018, 06:27:25
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 9.10.2025 - 08:00