紧急一段数据库处理并发的PHP代码
程序员文章站
2024-02-20 10:16:58
...
紧急求救一段数据库处理并发的PHP代码
一本书如如何防止两个人买到
如下
表book (id,name,num) num是库存量
比如 (1,"高级语言",1) 这么一本书,在某一时刻多人点击购买,之让其中一人买到,买到之后修改 库存量
用事务如何实现???
刚接触php ,求其详!
------解决方案--------------------
需要用事务吗? 一切尽在你的掌控之中。
------解决方案--------------------
代码是由你来写的。你想怎么控制就怎么控制啊。 你判断一下买的人是否是 “内定” 是就让其买,修改数据库库存量。否则不让买就行了。
------解决方案--------------------
不需要考虑这个问题 数据库自动有锁功能,不会出现同时两个人修改数据表的事情。判断数量是否为0 为零不可再购买即可.修改数据库语句返回判断结果。
------解决方案--------------------
UPDATE table SET num=0 WHERE num>0 AND id=888;
如果库存已经为0,这样的话 你觉得他会修改么?
------解决方案--------------------
------解决方案--------------------
记录被谁买了请用另外一张表记录
------解决方案--------------------
------解决方案--------------------
讨论真激烈~
------解决方案--------------------
set autocommit = 0 ,insert ,update commit
一本书如如何防止两个人买到
如下
表book (id,name,num) num是库存量
比如 (1,"高级语言",1) 这么一本书,在某一时刻多人点击购买,之让其中一人买到,买到之后修改 库存量
用事务如何实现???
刚接触php ,求其详!
------解决方案--------------------
需要用事务吗? 一切尽在你的掌控之中。
------解决方案--------------------
代码是由你来写的。你想怎么控制就怎么控制啊。 你判断一下买的人是否是 “内定” 是就让其买,修改数据库库存量。否则不让买就行了。
------解决方案--------------------
不需要考虑这个问题 数据库自动有锁功能,不会出现同时两个人修改数据表的事情。判断数量是否为0 为零不可再购买即可.修改数据库语句返回判断结果。
------解决方案--------------------
UPDATE table SET num=0 WHERE num>0 AND id=888;
如果库存已经为0,这样的话 你觉得他会修改么?
------解决方案--------------------
------解决方案--------------------
记录被谁买了请用另外一张表记录
------解决方案--------------------
------解决方案--------------------
讨论真激烈~
------解决方案--------------------
set autocommit = 0 ,insert ,update commit
相关文章
相关视频
上一篇: 用Redis实现分布式锁
下一篇: 浅谈PHP语法(2)_PHP教程