我正在阅读MySQL中的事务,并且不确定是否正确掌握了某些特定内容,并且想确保我理解正确,所以请继续。我知道事务应该做什么,只是不确定我是否理解语句的语义。
因此,我的问题是,以下内容是否有错((如果是这种情况,错了)):
默认情况下,MySQL中启用了自动提交模式。
现在,SET autocommit=0;
将开始事务,SET autocommit=1;
将隐式提交。这是可能的COMMIT;
,以及ROLLBACK;
,在两个自动提交仍设置为0之后(和一个新的隐式启动事务)的情况下。
START TRANSACTION;
基本上会SET autocommit=0;
一直到COMMIT;
或ROLLBACK;
发生。
换句话说,START TRANSACTION;
和SET autocommit=0;
是等效的,除了以下事实:START TRANSACTION;
等效地隐式添加了SET autocommit=0;
afterCOMMIT;
或ROLLBACK;
如果是这种情况,我不理解http://dev.mysql.com/doc/refman/5.5/en/set-transaction.html#isolevel_serializable-认为具有隔离级别意味着存在事务,意味着应始终关闭自动提交功能?
并且,如果在开始事务和设置自动提交之间还有另一个差异(上述差异除外),那是什么?