如何在mariadb中关闭autocommit?

问题描述 投票:0回答:4

我正在使用mariasql和mysql workbench IDE for mariasql,但我无法禁用自动提交模式。如何关闭自动提交?

javascript node.js mysql-workbench mariadb mariasql
4个回答
1
投票

在SQL编辑器中有一个工具栏按钮,允许切换自动提交模式:

enter image description here

关闭自动提交将启用可用于启动和提交事务的其他2个蓝色按钮。


1
投票

我认为关闭autocommit是一个错误。

处理自动提交有3种方法:

  • autocommit=1 - 立即承诺所有声明。这通常适合休闲使用。
  • BEGIN ... COMMIT - 您明确包含一组SQL语句的地方。通过BEGIN,你会被提醒需要一个COMMIT
  • autocommit=0 ... COMMIT - 我认为这很容易出错。您默认自动提交为0,但后来忘记发出COMMIT。然后你想知道为什么你的INSERTs消失了。

0
投票

您可以为会话将autocommit设置为false:

SET autocommit = 0;

https://mariadb.com/kb/en/mariadb/server-system-variables/#autocommit


0
投票

我将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';

硬币的另一面是如果你升级那么你需要重复这个。

希望,你可以采用这个解决方案/给你一些想法怎么做!

© www.soinside.com 2019 - 2024. All rights reserved.