共享锁,读锁,S锁,多个事务可以共享一把锁,只读不能改(第一个获取共享锁的事务除外,就是一个事务开启共享锁,之后在这个事务中修改是可以成功的,自行测试)
SELECT * FROM `test` WHERE `id` = 1 FOR UPDATE;
**排他锁,写锁,X锁,**不能与其他锁并存,如一个事务获取了一个数据行的排他锁,其他事务就不能再获取该行的其他锁,包括共享锁和排他锁,但是获取排他锁的事务是可以对数据就行读取和修改。
SELECT ... FOR UPDATE;
总:
共享锁就是指多个事务只能读数据而不能修改数据。(即只读不能改)
排他锁是指一个事务在一行数据加上锁后,其它事务不能再对其加锁。