多用户同时保存时自动增量不起作用

时间:2013-08-05 20:08:44

标签: php magento

这有点难以解释。

我有一个系统(LAMP项目),有一个功能,如果用户保存产品,系统将自动为其生成一个数字。

例如,系统中当前最大的数字是abc-112。因此,如果我创建一个新产品并保存它,我将自动保存数字abc-113作为这个新产品的一个属性。(一个函数将找到最大数字加上1并返回)

现在我的问题是,如果系统中同时有超过1个用户同时点击保存产品,所有新产品将获得abc-113而不是abc-113 / abc-114 / abc-115等等上。

任何人都知道如何解决这个问题?很多THX!

编辑:

生成代码实际上比我上面写的要复杂得多,我认为解释起来并不是很重要,但似乎很多人都认为我可以使用DB-autoincrement index而不是这个,但很遗憾我不能,计算逻辑不能改变,例如新产品,价值可以是abc-112或abc-1502或abc-2293,它基于产品的类别和类别的父类别和产品类型,它不仅仅是1,2, 3,4,5,6,7 ...

但无论如何,对于“DB”建议来说是

编辑#2:

似乎没有人能理解,好吧我已经通过锁定来解决它,对不起我的英语不好。你们都一样!

1 个答案:

答案 0 :(得分:4)

唯一的问题是您没有使用自动增量功能。

所以,摆脱这个函数来找到最大的数字加上1和让数据库增加它,因为它是为它设计的。

问题解决了。