@Maloy123

Почему перестают работать блокировки при использовании транзакции?

Здравствуйте! Блокирую несколько таблиц, допустим:
LOCK TABLES
    `table` WRITE,
    `table` AS `t` WRITE,
    `table2` WRITE,
    `table2` AS `t2` WRITE

И с другого потока делаю выборку из этих таблиц, все ок, ждет пока мы снимем блокировку. Но стоит после блокировки таблиц сделать START TRANSACTION и на блокировки при выборке с другого потока ноль внимания. Почему так происходит?
  • Вопрос задан
  • 108 просмотров
Решения вопроса 1
Melkij
@Melkij
PostgreSQL DBA
If a session begins a transaction (for example, with START TRANSACTION), an implicit UNLOCK TABLES is performed, which causes existing locks to be released.

https://dev.mysql.com/doc/refman/5.7/en/lock-table...
Старт транзакции неявно снимает табличные блокировки. У mysql много неявного поведения, да.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы