LINUX.ORG.RU

mysql и select for update


0

0
Можно ли в mysql заблокировать конкретную строку.
То что таблицу можно заблокировать я знаю, а строку можно ?!!
anonymous
Нашел сам, в mysql есть select for update;

begin;
select a.d from a where a.b=c for update;
update a set a.d=a.d+1 where a.b=c;
commit;

Главное чтобы таблица поддерживала транзакции. InnoDb держит.
anonymous
()
Ответ на: комментарий от anonymous
В чем смысл делать select for update некоторой записи, а потом сразу же update ее же? Сам update замечательно наложит [эксклюзивную] блокировку.
anonymous
()
Ответ на: комментарий от anonymous
Смысл в том что приложение многопоточное отсюда могут возникать различные спецэффекты - такой подход их исключает.
anonymous
()
Ответ на: комментарий от anonymous
Имелось ввиду что насамом деле update не такой как показано тут.
anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.