MySQL高级 - 锁 - InnoDB行锁 - 基本演示
生活随笔
收集整理的這篇文章主要介紹了
MySQL高级 - 锁 - InnoDB行锁 - 基本演示
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
案例準備工作
create table test_innodb_lock(id int(11),name varchar(16),sex varchar(1) )engine = innodb default charset=utf8;insert into test_innodb_lock values(1,'100','1'); insert into test_innodb_lock values(3,'3','1'); insert into test_innodb_lock values(4,'400','0'); insert into test_innodb_lock values(5,'500','1'); insert into test_innodb_lock values(6,'600','0'); insert into test_innodb_lock values(7,'700','0'); insert into test_innodb_lock values(8,'800','1'); insert into test_innodb_lock values(9,'900','1'); insert into test_innodb_lock values(1,'200','0');create index idx_test_innodb_lock_id on test_innodb_lock(id); create index idx_test_innodb_lock_name on test_innodb_lock(name);行鎖基本演示
| 關閉自動提交功能 | 關閉自動提交功能 |
| 可以正常的查詢出全部的數據 | 可以正常的查詢出全部的數據 |
| 查詢id 為3的數據 ; | 獲取id為3的數據 ; |
| 更新id為3的數據,但是不提交; | 更新id為3 的數據, 出于等待狀態 |
| 通過commit, 提交事務 | 解除阻塞,更新正常進行 |
| 以上, 操作的都是同一行的數據,接下來,演示不同行的數據 : | |
| 更新id為3數據,正常的獲取到行鎖 , 執行更新 ; | 由于與Session-1 操作不是同一行,獲取當前行鎖,執行更新; |
總結
以上是生活随笔為你收集整理的MySQL高级 - 锁 - InnoDB行锁 - 基本演示的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MySQL高级 - 锁 - InnoDB
- 下一篇: MySQL高级 - 锁 - InnoDB