【发布时间】:2014-07-11 08:51:49
【问题描述】:
我想在事务中更改数据库并进行插入。这可能吗?
这是我的代码
$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();
}
我做得对吗?但我得到一个错误 Lock wait timeout exceeded;尝试重启交易
为什么会发生这种情况我做错了什么??
【问题讨论】:
-
您是否插入到您正在更新的同一个表中?为什么不使用相同的连接/事务?
-
$db_new 连接已建立以插入另一个数据库
-
我可以在事务@JoachimIsaksson 中创建一个新的 PDO 实例
-
你应该可以毫无问题地做到这一点,听起来你可能有一个活动的事务锁定 db2.table。
-
no db2.table 不在任何事务中
标签: php pdo transactions