仗义每从屠狗辈,负心多是读书人。
mysql按照使用方式划分为共享锁和排它锁
排它锁需要注意
排他锁指的是一个事务在一行数据加上排他锁后,其他事务不能再在其上加其他的锁。
排它锁加锁方式:
mysql InnoDB引擎默认的修改数据语句,
update,delete,insert都会自动给涉及到的数据加上排他锁,
select语句默认不会加任何锁类型,如果加排他锁可以使用select ...for update语句
共享锁加锁方式:
加共享锁可以使用select ... lock in share mode语句。
加锁 sql 语句:
SELECT * FROM `company_user` WHERE id = 1 lock in share mode;
注意:一个数据被加了排他锁之后,是不能在添加其他锁的,不然其他锁会一直处理阻塞状态