Heim >Backend-Entwicklung >PHP-Tutorial > 紧急一段数据库处理并发的PHP代码

紧急一段数据库处理并发的PHP代码

WBOY
WBOYOriginal
2016-06-13 13:45:16718Durchsuche

紧急求救一段数据库处理并发的PHP代码
一本书如如何防止两个人买到
如下
表book (id,name,num) num是库存量
比如 (1,"高级语言",1) 这么一本书,在某一时刻多人点击购买,之让其中一人买到,买到之后修改 库存量
用事务如何实现???

刚接触php ,求其详!




------解决方案--------------------
需要用事务吗? 一切尽在你的掌控之中。
------解决方案--------------------
代码是由你来写的。你想怎么控制就怎么控制啊。 你判断一下买的人是否是 “内定” 是就让其买,修改数据库库存量。否则不让买就行了。
------解决方案--------------------
不需要考虑这个问题 数据库自动有锁功能,不会出现同时两个人修改数据表的事情。判断数量是否为0 为零不可再购买即可.修改数据库语句返回判断结果。
------解决方案--------------------
UPDATE table SET num=0 WHERE num>0 AND id=888;
如果库存已经为0,这样的话 你觉得他会修改么?
------解决方案--------------------

探讨

引用:

引用:

UPDATE table SET num=0 WHERE num>0 AND id=888;
如果库存已经为0,这样的话 你觉得他会修改么?

确实可以

但是我用的事insert

------解决方案--------------------
记录被谁买了请用另外一张表记录
------解决方案--------------------
探讨

引用:

引用:

引用:

引用:

UPDATE table SET num=0 WHERE num>0 AND id=888;
如果库存已经为0,这样的话 你觉得他会修改么?

确实可以

但是我用的事insert


你……

------解决方案--------------------
讨论真激烈~
------解决方案--------------------
set autocommit = 0 ,insert ,update commit 
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn