一尘不染

事务内的mysql事务

mysql

最近,在一个用于mysql数据库的PHP脚本中,我需要在恰好位于另一个事务内部的某个位置使用事务。我所有的测试似乎都表明这很好,但是我找不到有关此用法的任何文档。

我想确定-交易中的交易在mysql中是否有效?如果是这样,是否有办法找出嵌套事务中的层数?(即恢复到正常状态需要多少回滚)

预先感谢,Brian


阅读 212

收藏
2020-05-17

共1个答案

一尘不染

手册的本页可能使您感兴趣: 12.3.3。
导致隐性提交的陈述
;
引用几句话:

本节中列出的语句(及其任何同义词)隐式结束事务,就好像您COMMIT在执行该语句之前已经完成了。

并且,在页面中走得更远:

事务控制和锁定语句。 BEGINLOCK TABLESSET autocommit = 1(如果该值不是1), ,。START TRANSACTION UNLOCK TABLES

另请参阅本段:

事务不能嵌套。
这是commit 您发出START TRANSACTION 语句或其同义词之一时对任何当前事务隐式执行的结果。

2020-05-17