1,使用数据库
use gudong ;
2,查看有哪些表锁
show open tables;
3,解锁
unlock tables;
4,查看当前引擎:为InnoDB
show VARIABLES like ‘%engine%’;
5,分析表锁定:
show status like ‘table%’;
6,分析过程
注:–后面为结果
6.1 表锁之read锁:gudong.stu
session 1:
lock table gudong.stu read;
update gudong.stu a set a.gender=0 where a.stu_id='1';--1100 - Table 'a' was not locked with LOCK TABLES
select * from gudong.stu;--正常
select * from gudong.class;--1100 - Table 'class' was not locked with LOCK TABLES
session 2:
update gudong.stu a set a.gender=0 where a.stu_id='1';--等待
select * from gudong.stu;--正常
select * from gudong.class;--正常
6.2 表锁之write锁:gudong.class
session 1:
lock table gudong.class write;
update gudong.class a set a.name='高三6班' where a.id=1;--1100 - Table 'a' was not locked with LOCK TABLES
select * from gudong.class;--等待
select * from gudong.stu;--正常
session 2:
select * from gudong.class;--等待
select * from gudong.stu;--正常
update gudong.class a set a.name='高三6班' where a.id=1;--等待