如果我是正确的,PDO交易不是真正的交易:他们只是关闭自动提交(见documentation)。
因此,如果我有一个删除行的事务A和修改同一行的事务B,则可能发生以下情况。
但是在第6步,该行已在步骤5中删除。会发生什么?
另外,如何确保在事务A提交之前让事务B阻塞?仅供参考,我正在使用带有mysql的PDO和innoDB。
谢谢。
答案 0 :(得分:0)
正如@eggyal指出的那样,事务可以同时发生,但是DELETE语句会在事务提交之前对行进行排他锁定,因此事务B将在步骤4自动阻塞,直到事务A被提交。独占锁定阻止所有写入和读取。