MySQL - 如何更改一个特定数据库的默认自动提交?

时间:2017-05-26 05:07:32

标签: mysql transactions commit

我有一个关于autocommit的MySQL 5.5.54数据库:

的my.cnf

...
[mysqld]
autocommit = 0
...

我想为我测试的软件添加一个新数据库,但这个软件需要自动提交。我无法访问该软件的代码。

我可以在MySQL中为一个数据库设置autocommit吗?

由于

2 个答案:

答案 0 :(得分:0)

您可以尝试此操作来更改默认自动提交

SET autocommit = 1;

价值可能如下: 1 = ON和 0 =关闭

答案 1 :(得分:0)

Autocommit是会话的属性,而不是数据库。

鉴于您可以在会话期间或事务期间对多个数据库进行查询,但不清楚更改给定数据库的自动提交意味着什么。

您还可以更改全局默认自动提交,但不能更改每个数据库。

来自@qxlab的后续问题:

"谢谢,这也意味着软件会配置其会话自动提交值,还是更改全局默认值?"

阅读包含此声明的https://dev.mysql.com/doc/refman/5.7/en/commit.html

  

使用START TRANSACTION,在您使用COMMITROLLBACK结束交易之前,自动提交仍会被停用。然后,自动提交模式将恢复为先前的状态。

因此,如果您想要执行由多个操作组成的事务,则不需要更改自动提交值。刚开始交易。