MySQL Autocommit

MySQL Autocommit

最近遇到一个问题,在测试环境没有重现,但是在生产环境就频繁出现。问题的现象时,当我们在生产页面添加一个用户或者一条记录的时候,刷新页面始终是为空的数据,也就是数据没有入库,但是偶尔它又有数据。这个问题就很奇怪。后来追踪到代码的时候发现代码层没有做事务的控制,完全交给了数据库去管理,这个时候如果代码从db申请一个连接,然后完成操作之后,其实是否真实的commit是要看数据库的操作的。MySQL默认的配置中是将autocommit设置为1,也就是默认打开,但是我们公司的dba设置中,统一是0也就是关闭状态的,所以导致了这次事故的发生。作为一个程序员来说,我觉得,应该是要自己在业务逻辑层面来控制,不应该交由db去管理,这种行为有点可耻。

本文标题:MySQL Autocommit

文章作者:陈志军

发布时间:2019-06-30 16:44:26

原始链接:http://chenzhijun.me/2019/06/30/mysql-autocommit/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

坚持原创技术分享,您的支持将鼓励我继续创作!