首页 > 解决方案 > 在多个数据库上回滚事务

问题描述

我有多个 PDO 对象,指的是不同服务器上的不同数据库。我需要能够在任何步骤出现错误时回滚所有事务。

事实上,我想要这样的东西:

try {
    $db1Connector->beginTransaction();
    $db2Connector->beginTransaction();
    
    //some functionality
    
    $db1Connector->commit();
    $db2Connector->commit();
} catch (\Exception $exception) {
    $db1Connector->rollback();
    $db2Connector->rollback();
}

我的代码中有此功能,但它似乎无法正常工作。我注意到某些情况下只有一个事务被回滚。我猜这个问题发生时$db1Connector->commit()$db2Connector->commit()失败。

标签: phpmysql

解决方案



推荐阅读