Как сгенерировать уникальное число между диапазонами в MySQL - PullRequest
2 голосов
/ 22 июня 2011

У меня вопрос по поводу 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 голосов
/ 22 июня 2011

Вы можете использовать PHP microtime , чтобы добавить последовательность в номера своих клиентов. Таким образом, не может быть никаких столкновений, пока часы продолжают работать.

В качестве альтернативы просто проверьте, какой был последний cus_cusno, и добавьте 1.

...