Задать вопрос
@vetsmen

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

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

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

2) С помощью SELECT ... FOR UPDATE я выбрал какие-то данные, однако они мне не удовлетворяют. Обязательно ли делать ROLLBACK (ведь по сути возвращаться то некуда), либо достаточно закрыть соединение текущей сессии запроса и блокировка снимется?
  • Вопрос задан
  • 189 просмотров
Подписаться 1 Средний 3 комментария
Помогут разобраться в теме Все курсы
  • Академия Эдюсон
    FullStack-разработчик: тариф PRO
    14 месяцев
    Далее
  • Академия Эдюсон
    Python-разработчик
    9 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Java-разработчик + ИИ
    9 месяцев
    Далее
Решения вопроса 1
megafax
@megafax
CTO in MarTech
1) Да, блокировки снимутся после окончания транзакции
2) В зависимости от того, как у Вас настроен клиент и какие действия будут выполнены по отсоединению. По умолчанию, насколько помню, при дисконнекте будет выполнен COMMIT, потому делать ROLLBACK обязательно.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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