根据研究,对常见的百度知道错误进行说明。
1.mysql使用InnoDB引擎,自动开启事务,也就是每一条sql都是一个事务,当然,select除外;
2.由于1的原因,所以我们需要将autocommit设为on,否则每个query都要写一个commit才能提交;
3.在mysql配置中,默认缺省autocommit就是on,所以不需要再去mysql配置文件中再去显式配置;
4.最关键的一点来了,当我们显式地开启一个事务,也就是写了begin时,autocommit对此事务不构成影响(网上常见的错误为:写个query临时设置autocommit为off,不然三个query只能回滚最后一个query)。
以上认识,关键就是mysql使用的InnoDB自带事务无需设置。欢迎大家讨论指正。