Maison >développement back-end >tutoriel php > 紧急一段数据库处理并发的PHP代码

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

WBOY
WBOYoriginal
2016-06-13 13:45:16719parcourir

紧急求救一段数据库处理并发的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 
Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn