使用PDO更改事务内的数据库连接

时间:2014-05-22 10:52:05

标签: php pdo transactions

我想更改数据库并在我处理事务时执行插入操作。这可能吗?

这是我的代码

$db->beginTransaction();
try {

-----some code here-----

(Insert db1.table1);

(update db1.table2)

$db_new = new PDO (...);

$db_new->query("insert db2.table statement"); 

$db->commit();
} catch (Exception $e) {
 $db->rollBack();
}

我做得对吗?但是我收到错误超过锁定等待超时;尝试重新启动交易

为什么发生这种情况我做错了什么?

1 个答案:

答案 0 :(得分:0)

一般来说 - 是的。只要此代码与此事务无关,您就可以在事务打开时运行所需的任何代码。

您只应注意在您的交易被打开时运行任何不相关的代码是没有意义的 - 您可以稍后运行它。

截至你得到的错误 - 它是由其他一些问题引起的。事务显然是基于连接的,在一个连接中打开的事务永远不会受到任何其他连接的影响。