mysql - 如何在不编写脚本的情况下在MySql中模拟死锁?

标签 mysql deadlock

出于测试目的,有时能够模拟数据库(例如 MySQL)中的死锁很有用。如果您对数据库具有写访问权限,则可以通过在另一个查询将尝试使用的表上启动写事务来模拟死锁。

最佳答案

  1. 登录数据库
  2. 开始交易 begin;
  3. 使用修改表中所有行的更新语句锁定表 update <table> set <column>=<value>;
  4. 在您提交或回滚事务之前,所有其他应用程序都会遇到该表被锁定的情况。
  5. 要结束死锁,请回滚事务。 rollback;

关于mysql - 如何在不编写脚本的情况下在MySql中模拟死锁?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34775244/

相关文章:

PHP Laravel 任务调度最佳实践

MYSQL 错误 - 无法添加或更新子行 : a foreign key constraint fails

javascript - 单击时更新表值和时间戳

mysql - SQL 将多个查询汇总为一个

database - "wait-die"和 "wound-wait"死锁预防算法有什么区别?

c++ - 1.50 中的 boost::shared_mutex 问题

python - 子进程完成但仍未终止,导致死锁

mysql - 更新表时查询变慢

c++ - notifyall 在 C++ 多线程中不工作。造成死锁

multithreading - 如何用竞争条件强制三向死锁