如何在mysql的范围之间生成唯一的数字

时间:2011-06-22 11:04:25

标签: mysql concurrency sequence

我对mysql有疑问。这是场景

我有一张表说商家,它有以下字段

merid , mer_cusno_start, mer_cusno_end, ..

现在我有一个表来存储每个商家的客户,它有字段

cusid, cus_merid, cus_cusno,email...

当新客户注册商家时,我想生成 cus_cusno ,该商店应该在该商家指定的范围内( mer_cusno_start - mer_cusno_end 之间) 。

对于同一商家,没有两个客户应具有相同的 cus_cusno (不同商家的客户可以拥有相同的 cus_cusno )。数量不必是连续的。但应该介于范围之间。

考虑到多个客户可能试图同时注册同一个商家,如何在没有并发问题的情况下在mysql中实现?。

提前致谢

Sandheep

1 个答案:

答案 0 :(得分:0)

您可以使用PHP microtime在客户编号中添加一些顺序。这样,只要时钟继续运行,就不会发生冲突。

或者只是检查上一个cus_cusno是什么,并添加1。