InnoDB事务锁之行锁-insert唯一二级索引重复键加锁案例
发表于:2024-10-28 作者:千家信息网编辑
千家信息网最后更新 2024年10月28日,1、表结构CREATE TABLE `t3` ( `id` int(11) NOT NULL, `id2` int(11) DEFAULT NULL, `id3` int(11) D
千家信息网最后更新 2024年10月28日InnoDB事务锁之行锁-insert唯一二级索引重复键加锁案例
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 320, 1 row lock(s) MySQL thread id 10, OS thread handle 0xa32ffb90, query id 193 localhost root init show engine innodb status TABLE LOCK table `yzs`.`t3` trx id 17751 lock mode IX RECORD LOCKS space id 30 page no 4 n bits 80 index `id2` of table `yzs`.`t3` trx id 17751 lock mode S Record lock, heap no 7 PHYSICAL RECORD: n_fields 3; compact format; info bits 0 0: len 4; hex 80000001; asc ;; 1: len 4; hex 80000003; asc ;; 2: len 4; hex 8000000a; asc ;;
5、加锁原理图
6、总结
唯一二级索引重复键检查中,如果遇到重复key,那么会对重复的key加S类型的next-key锁。注意:这里不论是什么隔离级别加的都是next-key锁
数据
索引
原理
类型
级别
结构
检查
隔离
事务
案例
之行
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
app拉新接单平台软件开发
廊坊网络服务器机柜报价
广电小锅是用了什么网络技术
禁毒展厅软件开发
e gpon网络安全
数据库隐藏的表怎么显示
社交软件开发的难点
甘肃平凉网络安全宣传周
中天科技5G与工业互联网技术
中国互联网科技公司男女比例
删除数据库11g
吉林北斗时间同步服务器
广东录播服务器安装云服务器
服务器断开连接不上
如何去保障网络安全
软件开发编码规范文档
网络安全领域的名词解释
软件开发与项目管理中期考试
开源 服务器管理界面
一些app被写进数据库无法删除
互联网科技文案用词
查找手机的iphone数据库
studio数据库怎么查询数据
西安软件开发外包有哪些公司
数据库实例位置
地下城与勇士安全服务器
怎么联系app软件开发商
vba数据库如何关闭
app购物软件开发
广东网络安全110启动受理