mysql LOCK TABLE — no & quot; commit & quot; данных до разблокировки

У меня любопытная проблема — у меня есть скрипт PHP (5.5.9), который пишет в базу данных MySql (5.6.27). Псевдокод выглядит примерно так:

LOCK TABLE A WRITE, B WRITE, ... , C WRITE;
-- do some inserts/updates
UNLOCK TABLES;

Если скрипт работает успешно, то все в порядке. Однако, если я остановлю скрипт на полпути, выполняемые операции не будут зафиксированы (я не использую транзакции).

Я сбит с толку, я думал, что не было никакой подобной транзакциям логики, когда дело доходит до LOCK, просто что никакие другие сеансы не могут получить доступ к этим таблицам. Может ли кто-нибудь помочь мне понять, что происходит под капотом, чтобы предотвратить сохранение данных в этом сценарии?

Спасибо 🙂

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]