我正在使用mariasql和mysql workbench IDE for mariasql,但我无法禁用自动提交模式。如何关闭自动提交?
我认为关闭autocommit
是一个错误。
处理自动提交有3种方法:
autocommit=1
- 立即承诺所有声明。这通常适合休闲使用。BEGIN
... COMMIT
- 您明确包含一组SQL语句的地方。通过BEGIN
,你会被提醒需要一个COMMIT
。autocommit=0
... COMMIT
- 我认为这很容易出错。您默认自动提交为0,但后来忘记发出COMMIT
。然后你想知道为什么你的INSERTs
消失了。您可以为会话将autocommit设置为false:
SET autocommit = 0;
https://mariadb.com/kb/en/mariadb/server-system-variables/#autocommit
我将XAMPP-VM与MariaDB和InnoDB一起使用。无法设法用my.conf禁用autocommit,但是,我编辑了mysql.server文件(对于XAMPP-VM,它位于/ opt / lampp / bin文件夹中)并将此参数添加到启动
--autocommit=0
所以最后看起来像这样
...
case "$mode" in
'start')
# Start daemon
...
$bindir/mysqld_safe --autocommit=0 --datadir="$datadir" --pid-file="$mysqld_pid_file_path" "$@" &
...
它成功了。您可以在停止 - 启动后使用此功能进行检查(重新启动将不会应用更改,因为它在交换机中的不同路径上)
select *
from information_schema.global_variables
where variable_name = 'AUTOCOMMIT';
硬币的另一面是如果你升级那么你需要重复这个。
希望,你可以采用这个解决方案/给你一些想法怎么做!