我想让我的 Python 库与 MySQLdb 一起使用,能够检测死锁并重试。我相信我已经编写了一个很好的解决方案,现在我想测试它。
对于我可以使用 MySQLdb 运行来创建死锁条件的最简单查询,有什么想法吗?
系统信息:
- MySQL 5.0.19
- 客户端5.1.11
- 视窗XP
- Python 2.4 / MySQLdb 1.2.1 p2
下面是我如何在 PHP 中执行此操作的一些伪代码:
脚本1:
START TRANSACTION;
INSERT INTO table <anything you want>;
SLEEP(5);
UPDATE table SET field = 'foo';
COMMIT;
脚本2:
START TRANSACTION;
UPDATE table SET field = 'foo';
SLEEP(5);
INSERT INTO table <anything you want>;
COMMIT;
执行脚本1,然后立即在另一个终端中执行脚本2。如果数据库表中已经有一些数据,您将遇到死锁(换句话说,它在您第二次尝试此操作后开始死锁)。
请注意,如果 mysql 不支持 SLEEP() 命令,请在应用程序本身中使用 Python 的等效命令。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)