相关疑难解决方法(0)

SET autocommit = 1和mysql中的START TRANSACTION之间的区别(我错过了什么?)

我正在阅读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;after COMMIT;或者ROLLBACK;

如果是这种情况,我不明白http://dev.mysql.com/doc/refman/5.5/en/set-transaction.html#isolevel_serializable-看到有一个隔离级别意味着有一个事务,这意味着自动提交应该是关闭的?

如果在开始交易和设置自动提交之间存在另一个差异(除了上述的差异之外),它是什么?

mysql sql transactions

67
推荐指数
2
解决办法
9万
查看次数

标签 统计

mysql ×1

sql ×1

transactions ×1