当前位置:  开发笔记 > 编程语言 > 正文

由2个SQL连接创建的死锁,每个使用事务,不同的表,两个表之间的外键约束

如何解决《由2个SQL连接创建的死锁,每个使用事务,不同的表,两个表之间的外键约束》经验,为你挑选了1个好方法。

TableB对TableA的外键约束必须检查以确认密钥的存在.然后它将接受或拒绝TableB记录.

由于包含密钥的TableA记录(在不同的连接上)尚未提交,因此外键约束必须等待 - 在提交或回滚TableA记录之前,插入不会返回.

因为第一个连接上的提交等待TableB插入返回...您有死锁.

换句话说,你是对的.



1> Amy B..:

TableB对TableA的外键约束必须检查以确认密钥的存在.然后它将接受或拒绝TableB记录.

由于包含密钥的TableA记录(在不同的连接上)尚未提交,因此外键约束必须等待 - 在提交或回滚TableA记录之前,插入不会返回.

因为第一个连接上的提交等待TableB插入返回...您有死锁.

换句话说,你是对的.

推荐阅读
贴进你的心聆听你的世界
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有