我试图创建一个排序系统,并创建一个唯一的序列号来区分顺序,它工作正常,直到有一次同一时间有一个订单(差别只是秒,大约10秒),然后唯一的序列号变成相同的(序列号是从db中的最后一个序列号的增量)。
我是根据某种格式创建id的,它必须每月重新设置,所以我不能使用uniqid()。
你们知道这件事吗?我读过一些关于数据库锁定的文章,但是当我尝试这个解决方案“我们可以在Zend-Db中执行查询时锁定表吗?”时,它也没有起作用。
编辑
格式是
项目编号-本月份订单编号
这个月的订单数是4位数,从0001开始到9999以后开始,然后再从A001开始.A999 B001 ..。ZZZZ
这是专栏
order_id = varchar(17) \x{e76f}\x{e76f}{##**$$}\x{e76f}\x{
我希望这一点现在能更清楚地说明:)
谢谢!
发布于 2014-04-17 10:06:33
似乎我们必须使用带有可序列化锁定的事务。它将防止从其他会话读取和写入,直到事务完成。
请在这里观看
https://stackoverflow.com/questions/23129999
复制相似问题