Mysql的乐观锁悲观锁

乐观锁认为一般情况下数据不会发生冲突,一般会在数据提交更新的时候去做校验。
一般再操作的表上加一个version字段,每次更新对应的version+1,
先查询version,然后做修改的时候跟version做比对,如果不相等说明数据被修改了,当前操作不能成功。
1。查询

select (status,status,version) from t_goods where id=#{id}

2修改并验证是否冲突

update t_goods set status=2,version=version+1 where id=#{id} and version=#{version};

悲观锁
使用的是行级锁,统一时间只有一个线程能对这条数据修改,知道commit之后别人才能修改。
一般语句:select * from 表 where id=#{id} for update

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值