@vetsmen

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

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

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

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

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

Войти через TM ID
Похожие вопросы
BP Mobile Москва
До 250 000 руб.
1Win Санкт-Петербург
от 80 000 до 200 000 руб.
OneTwoTrip! Москва
от 120 000 до 200 000 руб.