mysql 锁之共享锁和排它锁

仗义每从屠狗辈,负心多是读书人。

 

mysql按照使用方式划分为共享锁排它锁

 

排它锁需要注意

排他锁指的是一个事务在一行数据加上排他锁后,其他事务不能再在其上加其他的锁。

 

排它锁加锁方式:

mysql InnoDB引擎默认的修改数据语句,

update,delete,insert都会自动给涉及到的数据加上排他锁,

select语句默认不会加任何锁类型,如果加排他锁可以使用select ...for update语句

 

共享锁加锁方式:

加共享锁可以使用select ... lock in share mode语句。(mysql5.0以后版本都可以)

加锁 sql 语句:

SELECT * FROM `company_user` WHERE id = 1 lock in share mode;

在mysql8.0 后可以使用

 

SELECT ... FOR SHARE;

 

 

注:一个数据被加了排他锁之后,是不能在添加其他锁的,不然其他锁会一直处理阻塞状态

 

posted @ 2021-08-05 08:56  方达达  阅读(127)  评论(0编辑  收藏  举报