标签: perl dbi
使用Perl DBI检测死锁的正确方法是什么?
我应该使用eval { }吗?要抓住哪个例外?
eval { }
答案 0 :(得分:2)
答案取决于DBMS。
有些DBMS可能根本没有发现僵局;您必须在数据库操作上设置某种超时,并且如果超时触发,则不清楚状态DBI和相关DBD将处于什么状态。
某些DBMS会检测死锁并报告错误,在这种情况下,您可以像处理任何其他错误一样处理错误 - 但“死锁错误”的特殊错误代码处理取决于所使用的特定DBMS。
我不确定是否还有其他重要选项。