ここで同期の問題が発生しています。状況を説明しましょう:
Sendings
次の列で構成されるというテーブルがあります。
id sending_object_id type destinatary
id は、postgresql が各テーブルに与える自動シリアル ID です。送信 object_id はカスタム識別子であり、タイプと宛先は...この特定の質問にはあまり関係ありません。
これは、テーブルがデータでどのように見えるかの例です:
id sending_object_id type destinatary
1 1 1 A7
2 1 1 B1
3 2 2 A1
4 2 2 A2
5 3 1 B8
6 4 1 N1
ご覧のとおり、同じ " object_id
" を複数の宛先に送信できます。同期の問題は、2 人の異なるユーザーが 2 つの異なるコンピューターを使用して、新しい送信を挿入しようとすると発生します。
ユーザー Aは、新しい送信情報を導入し、DB エンジンはSelectMax(sending_object_id)
、レジストリの新しい send_object_id を作成するために を作成します。
ユーザー Bは、同時に、新しい送信を導入し、別の送信を行いますSelectMax(sending_object_id).
sending_object_id
新しいデータを同時に挿入するときに s の重複を避けるにはどうすればよいですか?
前もって感謝します。