读写锁
来源:2-4 事务原则与实现:JDBC事务(下)

幕布斯1098637
2019-11-24
老师你好,mysql是不是用的是读写锁,写操作是默认有锁的,读是可以并发读。要给读操作加锁要显性加上for update?
写回答
1回答
-
大漠风
2019-12-13
首先,数据库对数据的锁有几种,像Mysql的for update是写锁,也就是说,一个事务里面用这种方式读了数据以后,意思就是,我要改数据,谁都不许改,只能读。如果两个数据库等等事务里面都要进行for update类型的查询,第二个就会等待。
其次,不能说写操作默认有锁,一般的写操作,没有开启事务的话,可以理解成,数据库会自动开启一个事务,然后提交一个数据的更新操作,然后提交。而且,对于写操作,除非你在读这条数据的时候加了锁,要不然,在写的时候,就是直接进行更新操作,如果这时有别的事务锁了这条记录,并且是写锁,那么就会出错。
00
相似问题