mysql 在什么情况下会加锁
时间: 2024-05-25 15:13:56 浏览: 140
mysql加锁分析
MySQL 中会在以下情况下加锁:
1. 当一个事务正在修改某个数据时,其他事务不能同时修改该数据,会对该数据加写锁。
2. 当一个事务正在读取某个数据时,其他事务不能对该数据进行修改,但可以读取该数据,会对该数据加读锁。
3. 当使用 SELECT ... FOR UPDATE 语句查询数据时,会对查询结果加写锁,防止其他事务同时修改查询结果。
4. 当使用 LOCK TABLES 语句锁定表时,会对该表加表级别的写锁,其他事务不能对该表进行读写操作。
5. 当使用事务级别为 SERIALIZABLE 时,会对所有查询涉及到的数据加共享锁。
6. 当使用事务级别为 REPEATABLE READ 时,会对每个查询涉及到的数据加共享锁,直到事务结束。
7. 当使用事务级别为 READ COMMITTED 时,会对每个查询涉及到的数据加共享锁,但不会持有锁到事务结束。
阅读全文