如果我是正确的,PDO 事务并不是真正的事务:它们只是关闭自动提交(参见文档)。
因此,如果我有一个删除行的事务 A 和修改同一行的事务 B,则可能会发生以下情况。
- 事务 A 启动并关闭自动提交。
- 事务 B 启动并关闭自动提交。
- 事务 A 删除一行。
- 事务 B 修改同一行。
- 事务 A 完成并提交更改。
- 事务 B 完成并提交更改。
但是在第 6 步,该行已经在第 5 步中被删除了。会发生什么?
另外,我怎样才能确保让事务 B 阻塞,直到事务 A 被提交?仅供参考,我将 PDO 与 mysql 与 innoDB 一起使用。
谢谢你。