一、死锁示例

考虑下面一个MySQL死锁的示例:

有如下一张表:
CREATE TABLE `test` ( `id` int(20) NOT NULL, `name` varchar(20) DEFAULT NULL,
PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8
表中有如下数据:
mysql> SELECT * FROM test; +----+------+ | id | name | +----+------+ | 1 | 1 |
| 5 | 5 | | 10 | 10 | | 15 | 15 | | 20 | 20 | | 25 | 25 | +----+------+ 6 rows
in set (0.00 sec)
当数据库的隔离级别为Repeatable Read或Serializable时,我们来看这样的两个并发事务(场景一):

session1

session2

begin;

begin;

select * from test where id = 12 for update;

技术
下载桌面版
GitHub
Gitee
SourceForge
百度网盘(提取码:draw)
云服务器优惠
华为云优惠券
腾讯云优惠券
阿里云优惠券
Vultr优惠券
站点信息
问题反馈
邮箱:[email protected]
吐槽一下
QQ群:766591547
关注微信