老师,关于事务的问题

来源:10-31 事务与锁防止多次减库存

菠萝吹雪gz

2017-07-12

这是第二遍看该节了,还是想不明白,事务有锁的意思,网上找了MySQL有关事务、锁的资料,说:事务在并发的时候,会出现,不可重复读和幻读等问题。那咱们这代码在并发时会出现这样的情况吗?

比如:请求A和请求B,当请求A正要执行但还没执行if($order->status==1)时请求B来了,也来查询订单信息,发现支付状态还是1,不还会减少库存量

另外还想请教:TP5中使用模型锁,是不是就是mysql中的悲观锁或者乐观锁中的一种


写回答

1回答

7七月

2017-07-13

你还是没有理解锁的概念。A和B都来了,总有一个先进入查询把,既然先进入的当然会锁住,后面的就查询不了。等它能查询了,第一个已经更新了数据库。这有什么问题呢?其实,TP5的模型锁是事务锁和你说的悲观和乐观还是有区别的。如果要详细学习数据库,这个是另外一个层面的内容了。

0
1
菠萝吹雪gz
今天又查了关于事务的隔离级别:TP5的模型锁是事务锁,如果该事务的隔离级别最高(serializable: 最严格的隔离级别,事务必须依次进行),那我就明白了。
2017-07-13
共1条回复

微信小程序电商实战 从前端到后端的全流程精讲

全栈工程师/前后端都讲/架构思想/ RESTFul API、MySQL表设计

4826 学习 · 4382 问题

查看课程