Есть ли другой способ отключить автокоммит вместо 'SET autocommit = 0' - PullRequest
0 голосов
/ 03 мая 2019

Моя цель - получить autocommit off для любой команды SQL.И явно используйте commit для подтверждения любого запроса.

Поэтому я создал пользователя со всеми привилегиями и установил соединение.Сначала я попытался установить автокоммит для текущего сеанса, используя set autocommit = 0;, после этого я запускаю select @@autocommit;, который возвращает 0.Это нормально, но как только я делаю что-то вроде create a table, insert, update, оно дает эффект без фиксации.

Я попытался сделать

SET GLOBAL init_connect='SET AUTOCOMMIT=0';

, который не работает для пользователя root.Я только что создал пользователя, думая, что это может сработать.Но это не так.

Закрытый вопрос, с которым я столкнулся, - вот этот здесь .Мы сталкиваемся с точно такой же проблемой, разница в том, что в его случае он использовал MyISAM движок, а я использую InnoDB.

Я также пытался сделать только для одного сеанса, который не работал

-- select @@autocommit;   // 1

SET AUTOCOMMIT=0;
use db331;
insert into Images (iid, imagePath) values (32, 'imagePath32');

-- select @@autocommit  // 0;

Я работаю в версии 8.0.12

...