Wykonuję webservice w PHP, który wykonuje serię obliczeń na podstawie wyboru z tabeli, a następnie aktualizuje tabelę z nowymi wynikami.Blokada stołu MySql w PHP
Jednak chcę zapobiec przypadkowi, w którym inna osoba nawiązuje połączenie z tym samym serwisem internetowym, podczas gdy sesja innej osoby wciąż wykonuje aktualizację.
Czy to jest właściwe, aby zablokować cały stół, a następnie odblokować go ponownie? Jeśli tak, jak mogę zablokować i odblokować tabelę mysql przy użyciu PHP pdo?
Nie jest to bezpośrednia odpowiedź, ale nie sądzę, że to żaden problem. Obliczenia i pobieranie danych z bazy danych odbywa się w ciągu kilku milisekund. Szanse lub dwie osoby wchodzące w interakcje w tym samym czasie są tak małe, że większość ludzi nie zadaje sobie takiego blokady. – OptimusCrime
Zdaję sobie z tego sprawę. Nie jestem jednak skłonny do podejmowania ryzyka, ponieważ uszkodzenie danych może mieć poważne konsekwencje dla mojego wniosku. – user1574041
Chcesz użyć [transakcji bazy danych] (http://dev.mysql.com/doc/en/sql-syntax-transactions.html), aby zapewnić atomowość operacji. – eggyal