Парсер сам транзакций не делает...
Sumo 25.10.2016 18:58
/ 25.10.2016 18:59
Грубое описание того, что происходит.
Оператор connect берет соединение из менеджера sql-драйверов. Выполняет код. Вызывает метод commit соединения или rollback, если в коде всплыло исключение и «закрывает» соединение методом close. Реальное закрытие соединения не происходит — оно кешируется в менеджере.
Метод commit в драйвере мускуля дает sql-запрос «commit;» только если в параметрах драйвера установлен параметр autocommit=0.
Никакого begin не делается, иначе это бы автоматом отключило autocommit и начало новую транзакцию, что тупо покрушило бы наш код, если бы мы уже вручную начали транзакцию — вложенных транзакций в мускуле нет.
Поэтому вся работа с транзакциями должна быть сделана вручную, т.е. явно вызваны begin и commit. Использовать параметр autocommit=0 в строке соединения не нужно никогда. :)
- G_Z, прошу у Вас помощи, Mizter Egoist 24.10.2016 17:34
- Ответ, G_Z [M] 24.10.2016 19:19 / 24.10.2016 19:19
- Ответ, Mizter Egoist 25.10.2016 11:25 / 25.10.2016 11:36
- Ответ, G_Z [M] 25.10.2016 16:47 / 25.10.2016 17:39
- Ответ, Mizter Egoist 26.10.2016 12:08 / 26.10.2016 12:10
- Ответ, G_Z [M] 26.10.2016 12:37
- Ответ, Mizter Egoist 07.11.2016 15:40 / 07.11.2016 15:42
- Ответ, Maxx [M] 24.10.2016 18:29
- Ответ, Mizter Egoist 25.10.2016 11:27
- Ответ, Maxx [M] 25.10.2016 12:04
- Ответ, G_Z [M] 25.10.2016 17:10
- Ответ, Maxx [M] 25.10.2016 17:16 / 25.10.2016 17:20
- Ответ, G_Z [M] 25.10.2016 18:00
- Ответ, Maxx [M] 25.10.2016 18:40 / 25.10.2016 18:44
- Парсер сам транзакций не делает..., Sumo [M] 25.10.2016 18:58 / 25.10.2016 18:59
- Ответ, G_Z [M] 25.10.2016 18:57