gpt4 book ai didi

mysql - 提交时会发生死锁吗?

转载 作者:可可西里 更新时间:2023-11-01 06:50:02 26 4
gpt4 key购买 nike

到目前为止,在我见过的所有 SQL 死锁示例中,死锁都是在执行 SELECT/UPDATE 等时出现的。

如果我的所有语句都成功执行,当我COMMIT时是否有可能出现死锁?

我试图用我的 ORM 捕获死锁异常,想知道在 flush() 周围使用 try{} 是否足够,或者它是否应该包装 commit() 也是如此。

最佳答案

是的,执行 COMMIT 时可能会发生死锁。更准确地说,您的应用程序可能会在执行 COMMIT 时被告知死锁。

假设您是连接 A 并执行一些操作序列。独立地,不同的连接(连接 B)做了一些导致死锁的事情,DBMS 决定回滚连接 A。

但是,连接 A 已经完成了它想做的所有事情并决定提交。好吧,这是在 DBMS 决定执行回滚后客户端在连接 A 上执行的第一个操作,因此您会在此时收到通知。

您应该处理每个操作的错误,即使是 COMMIT。

关于mysql - 提交时会发生死锁吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18171769/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com