本文主要是介绍关于mysql的参数autocommit,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
背景知识:
mysql事务支持的引擎是InnoDB
默认情况下autocommit的值为1
1.首先准备一张innodb引擎的测试表:
CREATE TABLE `test` (
`id` int(11) NOT NULL
) ENGINE=InnoDB;
INSERT INTO `test` VALUES ('1');
INSERT INTO `test` VALUES ('3');
INSERT INTO `test` VALUES ('5');
2.执行如下命令可以发现mysql的autocommit默认值是ON,也就是开启状态:
3. 当autocommit为开启状态时,即使没有手动start transaction开启事务,mysql默认也会将用户的操作当做事务即时提交。怎么理解呢?例如,你执行了insert into test values(2)语句,mysql默认会帮你开启事务,并且在这条插入语句执行完成之后,默认帮你提交事务。这时候可能有人会问了,那如果我手动开启了事务呢?例如如下操作,开启事务并插入两条数据:
这篇关于关于mysql的参数autocommit的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!