私の問題は次のとおりです。
私は自動車ディーラー A と という名前の db テーブルを持っていますsold_cars
。車が販売されている場合、このテーブルにエントリを作成します。
テーブルには という名前の整数列がありますorder_no
。ディーラーが販売する車内で一意である必要があります。
したがって、ディーラー A が車a
を販売b
した場合c
、この列は になります1, 2, 3
。数値計算に穴を開けたくないので、主キーではなく、この列を使用する必要があります。ディーラー A と B (後で追加される可能性があります) には、A ではなく、1、2、3 の順序番号が必要です。 : 1, 3, 5, および B: 2, 4, 6. というわけでorder_no
、指定されたディーラーの最後の最大値を選択し、1 ずつ増やして保存します。
問題は、2 人の人が同じミリ秒でディーラー A から車を購入し、両方の注文が同じになったことorder_no
です。何かアドバイス?このプロセスをトランザクション ブロックで閉じ、トランザクションが完了するまでこのテーブルをロックすることを考えていましたが、その方法に関する情報が見つかりません。