我在 mysql 中有两个数据库运行 innoDB,第二个数据库的外键与第一个数据库的主键相关。
在我的代码中,我需要插入第一个数据库并获取该数据库的 ID,然后插入第二个数据库。
一切顺利,除非我启动事务并锁定新 ID 的第一个数据库,而第二个数据库无法插入该 ID,我得到
SQLSTATE[HY000]:一般错误:1205 超出锁定等待超时;尝试重新启动事务
。当我删除外键时,一切都会顺利。
我需要提到的是,我使用 PHP PDO 连接到 MySql,并且为每个数据库创建了单独的连接,而且我也无法提交第一个数据库事务,以便第二个数据库事务通过,因为我需要确保所有事务都到所有数据库整个过程一切顺利,然后开始提交。
谢谢拉敏
最佳答案
似乎唯一的解决方案是提交第一个数据库并在第二个数据库上启动事务,或者删除数据库之间的外键。
如果您看到更好的解决方案,请提供解决方案,我会在将来随时接受该解决方案。
谢谢拉敏
关于当插入到主数据库上有外键的两个数据库时,MySql 事务锁定超时(1205),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41996356/