MySQL提供了两种事务存储引擎:InnoDB和NDB Cluster。另外还有第三方的存储引擎也是支持事务的,
比较知名的包括 XtraDB和PBXT。
也许我们在使用MySQL的时候我们很少使用COMMIT来提交事务,一样的完成了添加、修改和删除,感觉
MySQL的事务更本没有作用?
MySQL默认是采用的自动提交(AUTOCOMMIT)配置,也就是每个查询语句都被当做一个事务执行提交
操作,也就是事务就是一个SQL语句。
可以通过
SHOW VARIABLES LIKE 'autocommit'
来查看AUTOCOMMIT是否启动或者禁止自动提交模式。
autocommit on/off 或者 1/0
1或者on代表启动,0或者 off 代表禁止。
set autocommit =0
当autocommit = 0/off 时,所有的语句都在一个事务中,只有支持commit提交和rollback回滚,该事务结束,同时
开启新的事务。
MySQL在默认情况下是自动提交的,所以只有当配置过是否自动提交事务,才可以用到commit提交和rollback回滚
来控制事务。
当然一些MyISAM和内存表是没有commit、rollback慨念的,也就是说这些是一直处于AUTOCOMMIT启用模式。
该贴由hui.chen转至本版2014-11-5 16:11:51