Итак, вот оно ...
// Я запускаю транзакцию $ mysqli = new mysqli (...);
// Запуск транзакции $ mysqli-> autocommit (FALSE);
- вот выделенный подготовленный stmt с собственным подключением к базе данных
- вот вставка подготовленный stmt с собственным подключением к базе данных
- вот выделенный подготовленный stmtс указанным выше БД conn
- вставьте новый conn
- вставьте новый conn
- вставьте новый conn
, если каждый подготовленный запрос вернется в true, он будет ($ mysqli-> commit ()) else $ mysqli-> rollback
Я не знаю, по какой причине эта транзакция будет автоматически фиксироваться
Я выполнил некоторую транзакцию с 3 множественными соединениями, и они откатились...этого нет ... Сделано ли mysql для поддержки транзакции, которая имеет запросы с отдельными соединениями?
Решено ... если запросы из разных таблиц взаимозависимы, как в моем случае, и вам нужна надежная защита доступа к даннымустановите для autocommit значение false для каждого соединения,Если вы открываете, установите для переменной var значение false для каждой неисправной логики бизнес-процессов, если что-то не получится, откатите каждый набор запросов, иначе запустите каждый запрос на запрос ... Да, транзакция выполняется для каждого соединения, было что-то еще, что управляло откатом, когда я сказалчто mysql сделал откат для нескольких множественных транзакций conn
Повторное редактирование: ofc это не будет работать как обычная транзакция ... в случае сбоя системы данные будут сохраняться до момента сбоя