mysqlに関する質問があります。ここで私はテーブルを持っているシナリオmysqlの範囲内で一意の番号を生成する方法
は商人を言っています、それは今、私は、各加盟店の顧客を格納するテーブルを持っており、それがフィールド
cusid, cus_merid, cus_cusno,email...
を持って、次のフィールド
merid , mer_cusno_start, mer_cusno_end, ..
を持っています新しい顧客が加盟店にサインアップしているときに、cus_cusnoを生成する必要があります。この加盟店によって指定された範囲内にある必要があります(mer_cusno_start - mer_cusno_end)。
んが2人の顧客は、(異なる商人の顧客が cus_cusno同じを持つことができる)、同じ商人のため cus_cusno同じを持つべきではありません。番号は連続的である必要はありません。しかし、範囲の間に来る必要があります。
複数の顧客が同じマーチャントに同時にサインアップしようとしている可能性を考慮して、並行性の問題のないmysqlでどのように実装できますか?
事前に感謝
Sandheep
を追加しますか?それが通常どおりに行われます。 – Jacob
私はあなたの質問に適切な回答を見つけようとしますが、私のアドバイスを取ってください:merchantId、merchantCustomerNo、customer_idのようなわかりやすい名前でフィールドに名前を付けてください。私は急いで作ったデータベースで不幸な経験をしていましたが、それは悪夢であり、5〜6のアプリケーションをサポートしているときにはあなたにとって素晴らしいことだと信じています。 –
最初の考えは、衝突を避けるために '(cus_merid、cus_cusno)'テーブル( 'customer'')にUNIQUE INDEXを持つことです(同じcustomerNoと同じmerchantIDを持つ2人の顧客)。 –