请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

老师,关于事务的问题

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

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

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


正在回答 回答被采纳积分+3

1回答

7七月 2017-07-13 03:52:36

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

0 回复 有任何疑惑可以回复我~
  • 提问者 菠萝吹雪gz #1
    今天又查了关于事务的隔离级别:TP5的模型锁是事务锁,如果该事务的隔离级别最高(serializable: 最严格的隔离级别,事务必须依次进行),那我就明白了。
    回复 有任何疑惑可以回复我~ 2017-07-13 21:16:24
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信