2012-02-08 2 views
0

Работаю с mySQL InnoDB Table. Запросы базы данных Mysql с php-скриптом. Когда пользователь выбирает запись в определенной таблице, я хотел бы заблокировать ее и разрешить только чтение для другого пользователя. Поэтому я стараюсь использоватьСтрока блокировки InnoDB MySQL

SELECT * FROM parent WHERE NAME = 'Jones' LOCK IN SHARE MODE; 

Так что мой вопрос, когда пользователь В попытке выбрать ту же запись, как знать, что запись заблокирована, и когда пользователь А попробуйте обновить запись, как разрешить эту операцию.

Спасибо за помощь

ответ

2

InnoDB блокировки строк предназначены только для временного использования во время операции (например, когда вы хотите временно задержать кого-либо еще, кто пытается посмотреть или изменить строку). Если вы хотите, чтобы пользователи вашего приложения блокировали записи, блокировка строк не подходит для этой цели. Вместо этого сделайте это на уровне приложения: создайте столбец в таблице, чтобы указать, какой из ваших пользователей заблокировал запись.

Смежные вопросы