mysql事务,如何设置自动提交autocommit属性?
发布于 作者:苏南大叔 来源:程序如此灵动~
mysql的InnoDB存储引擎,其特点是支持“事务”。而“事务”的使用,首先要解决的问题就是"什么时候提交"的问题。通俗的理解是:事务就是延缓提交,延缓生效,增加一个缓冲。而默认的设置是立即提交生效,也就是autocommit为On。两者看起来有些冲突,这也就是本文主要讨论的问题,为mysql事务的相关文章做点铺垫。

苏南大叔的“程序如此灵动”博客,记录苏南大叔的编程经验故事。本文测试环境:win10,mysql@5.7.26,mysql-front@5.3。本文实际上记录的是:mysql的事务功能,什么时机下触发“commit”动作的一个开关问题。
查看autocommit设置
默认情况下,autocommit的属性是On。可以通过下面的命令进行查看:
show variables like 'autocommit';还可以这样查看:
select @@autocommit;
临时设置autocommit
临时关闭autocommit:
set autocommit = 0;set autocommit = OFF;临时打开autocommit:
set autocommit = 1;set autocommit = ON;注意:这里的设置都是临时的,重启mysql就失效了。
永久设置autocommit

寻找my.ini配置文件,然后修改文件,重启生效。
可以增加配置:
autocommit = 0因为默认是On,并且配置里面都没有这个选项,需要自己添加。
相关链接
- https://newsn.net/say/mysql-status.html
- https://newsn.net/say/mysql-mycnf-setting.html 【寻找
mysql配置文件位置的方法】 - https://newsn.net/say/mysql-trace.html
结语
mysql的这些高级特性,用的到的都不是普通情况,普通情况下也用不到。更多不普通情况,请参考苏南大叔的mysql相关经验文章: