InnoDB事务锁之行锁-insert二级唯一索引插入duplicate案例

MySQL源码分析
yzs87

1、表结构

CREATE TABLE `t3` (
  `id` int(11) NOT NULL,
  `id2` int(11) DEFAULT NULL,
  `id3` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `id2` (`id2`,`id3`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

2、数据

mysql> select *from t3;
+----+------+------+
| id | id2  | id3  |
+----+------+------+
|  6 |    1 |    1 |
|  8 |    1 |    2 |
| 10 |    1 |    3 |
|  7 |    4 |    4 |
|  1 |    6 |    6 |
|  4 |    7 |    7 |
+----+------+------+
6 rows in set (0.00 sec)

3、插入数据

mysql> insert into t3 values(11,1,3);
ERROR 1062 (23000): Duplicate entry '1-3' for key 'id2'

4、show engine innodb status\G

---TRANSACTION 17751, ACTIVE 17 sec
2 lock struct(s), heap size 
已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 博客之星2020 设计师:CY__ 返回首页
实付 9.90元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值