我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...

mysqlInnoDB存储引擎,其特点是支持“事务”。而“事务”的使用,首先要解决的问题就是"什么时候提交"的问题。通俗的理解是:事务就是延缓提交,延缓生效,增加一个缓冲。而默认的设置是立即提交生效,也就是autocommitOn。两者看起来有些冲突,这也就是本文主要讨论的问题,为mysql事务的相关文章做点铺垫。

苏南大叔:mysql事务,如何设置自动提交autocommit属性? - mysql-自动提交
mysql事务,如何设置自动提交autocommit属性?(图3-1)

苏南大叔的“程序如此灵动”博客,记录苏南大叔的编程经验故事。本文测试环境:win10mysql@5.7.26mysql-front@5.3。本文实际上记录的是:mysql的事务功能,什么时机下触发“commit”动作的一个开关问题。

查看autocommit设置

默认情况下,autocommit的属性是On。可以通过下面的命令进行查看:

show variables like 'autocommit';

还可以这样查看:

select @@autocommit;

苏南大叔:mysql事务,如何设置自动提交autocommit属性? - 查看autocommit设置
mysql事务,如何设置自动提交autocommit属性?(图3-2)

临时设置autocommit

临时关闭autocommit:

set autocommit = 0;
set autocommit = OFF;

临时打开autocommit:

set autocommit = 1;
set autocommit = ON;

注意:这里的设置都是临时的,重启mysql就失效了。

永久设置autocommit

苏南大叔:mysql事务,如何设置自动提交autocommit属性? - 修改autocommit配置
mysql事务,如何设置自动提交autocommit属性?(图3-3)

寻找my.ini配置文件,然后修改文件,重启生效。
可以增加配置:

autocommit = 0

因为默认是On,并且配置里面都没有这个选项,需要自己添加。

相关链接

结语

mysql的这些高级特性,用的到的都不是普通情况,普通情况下也用不到。更多不普通情况,请参考苏南大叔的mysql相关经验文章:

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。

 【福利】 腾讯云最新爆款活动!1核2G云服务器首年50元!

 【源码】本文代码片段及相关软件,请点此获取更多信息

 【绝密】秘籍文章入口,仅传授于有缘之人   mysql