Одновременный SELECT и UPDATE - блокировка для предотвращения проблем параллелизма - PullRequest
7 голосов
/ 23 июля 2011

Итак, я работаю в среде с высоким уровнем параллелизма.Что я хочу сделать, это выбрать строку из базы данных MySQL на основе определенного свойства, а затем, как только у меня есть эта строка, я хочу установить флаг «заблокирован» в строке, чтобы я мог сделать некоторую работу в PHP (что может занятьнекоторое время), а затем разблокировать его, когда я закончу.Каков наилучший способ сделать это, чтобы предотвратить проблемы параллелизма, возникающие при наличии отдельных команд SELECT и UPDATE?

Ответы [ 2 ]

2 голосов
/ 23 июля 2011

используя команду выбора для обновления: http://dev.mysql.com/doc/refman/5.1/en/innodb-locking-reads.html

0 голосов
/ 20 октября 2014

Этот метод FOR UPDATE фактически блокирует строку сразу и разблокирует ее только после того, как тот же сеанс PHP выполнил команду UPDATE в той же строке?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...