MySQL表锁

来源:这里教程网 时间:2026-03-01 15:20:11 作者:

在mysql中的表锁,LOCK TABLE t READ;  用读锁锁表,会阻塞其他事务修改表数据 =================================================================== ####Session 1 mysql> select * from t; +------+------+ | id   | name | +------+------+ |    1 | WW   | |    2 | SS   | |    3 | VV   | +------+------+ 3 rows in set (0.00 sec) ####读锁-锁表t mysql> LOCK TABLE t READ; ####Session 2,可以读取数据 mysql> select * from t where id=1; +------+------+ | id   | name | +------+------+ |    1 | WW   | +------+------+ 1 row in set (0.00 sec) ####Session 2, insert数据被阻塞 mysql> insert into t values(4,'LL'); ####Session 1, 解除读锁-锁表t mysql> UNLOCK table; Query OK, 0 rows affected (0.00 sec) 在mysql中的表锁,LOCK TABLE t WRITE; 用写锁锁表,会阻塞其他事务读和写 =================================================================== ####Session 1 mysql> select * from t; +------+------+ | id   | name | +------+------+ |    1 | WW   | |    2 | SS   | |    3 | VV   | +------+------+ 3 rows in set (0.00 sec) ####Session 1,写锁-锁表t mysql> LOCK TABLE t WRITE; ####Session 2,读取数据被阻塞 mysql> select * from t where id=1; ####Session 2, insert数据被阻塞 mysql> insert into t values(4,'LL'); ####Session 1, 解除读锁-锁表t mysql> UNLOCK table; Query OK, 0 rows affected (0.00 sec) =================================================================--待续

相关推荐