Что происходит с моей транзакцией, когда Mysql.Connector for Python неожиданно завершается?

Я использую Mysql.Connector в своем коде Python для выполнения нескольких вставок / обновлений в БД. После выполнения всех вставок / обновлений + другой обработки я определяю, было ли это успешным или нет, а затем выполняю либо db.commit (), либо db.rollback (). Меня беспокоит, что произойдет в паре разных ситуаций. Если процесс неожиданно завершился. например, kill -9 program.py, или если хост-контейнер, в котором запущена программа, выключен.

Получив ответ, я нашел вопрос, который больше подчеркивает мои опасения. Я думал, что это зависит от клиента, хотя на самом деле это обрабатывается сервером. stackoverflow.com/questions/4896479/…

Brian Sizemore 22.03.2018 15:28
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
Освоение PHP и управление базами данных: Создание собственной СУБД - часть II
В предыдущем посте мы создали функциональность вставки и чтения для нашей динамической СУБД. В этом посте мы собираемся реализовать функции обновления...
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
Роли и разрешения пользователей без пакета Laravel 9
Роли и разрешения пользователей без пакета Laravel 9
Этот пост изначально был опубликован на techsolutionstuff.com .
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
0
1
112
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Сервер MySQL откатит незафиксированные транзакции, если соединение будет разорвано.

Я ищу документы MySQL, чтобы подробно описать процесс, но, похоже, не могу их найти. Есть ли какие-то исключения, о которых мне нужно беспокоиться?

Brian Sizemore 22.03.2018 15:24

См. Раздел 13 Руководства по MySQL - пока сервер не увидит фиксацию, он будет откатывать, если возникнут проблемы.

Dave Stokes 29.03.2018 15:53

Другие вопросы по теме