У меня любопытная проблема — у меня есть скрипт PHP (5.5.9), который пишет в базу данных MySql (5.6.27). Псевдокод выглядит примерно так:
LOCK TABLE A WRITE, B WRITE, ... , C WRITE;
-- do some inserts/updates
UNLOCK TABLES;
Если скрипт работает успешно, то все в порядке. Однако, если я остановлю скрипт на полпути, выполняемые операции не будут зафиксированы (я не использую транзакции).
Я сбит с толку, я думал, что не было никакой подобной транзакциям логики, когда дело доходит до LOCK, просто что никакие другие сеансы не могут получить доступ к этим таблицам. Может ли кто-нибудь помочь мне понять, что происходит под капотом, чтобы предотвратить сохранение данных в этом сценарии?
Спасибо 🙂
Задача ещё не решена.
Других решений пока нет …