![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 76 Pomógł: 0 Dołączył: 8.01.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam mam pytanie odnośnie modyfikacji rekordów w mysql za pomocą PHP.
Jeśli robię skrypt, który modyfikuje powiedzmy opis jakiegoś produktu w tabeli i nadaję prawo do modyfikacji kilku użytkownikom, co się dzieje jeśli dwie lub więcej osób będą chciały zmodyfikować dokładnie ten sam rekord w dokładnie tym samym czasie? Czy istnieje funkcja w PHP, która pozwala zablokować modyfikowany rekord? Jak obejść taką sytuacje? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 326 Pomógł: 121 Dołączył: 23.07.2008 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Ramadisu - mylisz sie. Instrukcja UPDATE w MySQL jest operacja atomowa - do czasu jej zakonczenia blokowana jest tabela (jezeli silnik MyISAM) lub korygowany wiersz (silnik InnoDB). A zatem operacje Update wykonaja sie sekwencyjnie - jedna po drugiej, w porzadku zapisanym w kolejce zapytan (czas nadejscia). Blokada odbywa sie automatycznie
Dodatkowo blokade mozna wymusic za pomoca LOCK i UNLOCK TABLE Ten post edytował ddiceman 6.02.2009, 16:40:55 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 16.10.2025 - 13:53 |