@vetsmen

Вопрос по поводу mysql транзакций?

Использую mysql транзакции в своем приложении на node.js, есть несколько вопросов по поводу них:

1) SELECT ... FOR UPDATE - На каком моменте снимается блокировка с записи? Когда я сделаю UPDATE этой же самой записи или когда я сделаю ROLLBACK/COMMIT всей сессии моего запроса?

2) С помощью SELECT ... FOR UPDATE я выбрал какие-то данные, однако они мне не удовлетворяют. Обязательно ли делать ROLLBACK (ведь по сути возвращаться то некуда), либо достаточно закрыть соединение текущей сессии запроса и блокировка снимется?
  • Вопрос задан
  • 180 просмотров
Решения вопроса 1
megafax
@megafax
web-программист
1) Да, блокировки снимутся после окончания транзакции
2) В зависимости от того, как у Вас настроен клиент и какие действия будут выполнены по отсоединению. По умолчанию, насколько помню, при дисконнекте будет выполнен COMMIT, потому делать ROLLBACK обязательно.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы