我有一个关于autocommit
的MySQL 5.5.54数据库:
的my.cnf
...
[mysqld]
autocommit = 0
...
我想为我测试的软件添加一个新数据库,但这个软件需要自动提交。我无法访问该软件的代码。
我可以在MySQL中为一个数据库设置autocommit
吗?
由于
答案 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
,在您使用COMMIT
或ROLLBACK
结束交易之前,自动提交仍会被停用。然后,自动提交模式将恢复为先前的状态。
因此,如果您想要执行由多个操作组成的事务,则不需要更改自动提交值。刚开始交易。