1

私のビジネスロジックには、ランダム関数によって一意の値(セッションID)を作成する関数があります。

データベースに保存する前に、セッションIDが一意であることを確認する必要があります。そのため、データベースにまだ存在しない新しいセッションIDが見つかるまで、新しいセッションIDを生成しています。ただし、データベース内の既存のセッションIDを確認してから書き込むまでに競合状態が発生する可能性があります。

データベースでの書き込みと読み取りの機能は、2つの異なる接続を使用しています。どうすればこれを管理できますか?

次のセッションは推測できないため、自動インクリメントを使用できません。

4

1 に答える 1

3

この列を作成してUNIQUE(データベースの制約を追加して)、新しい行を挿入して、重複する値に関するエラーが返されるかどうかを確認できると思います。重複が非常にまれであることを考えると、おそらく最も速くて安全な方法です。

于 2013-03-25T10:50:03.630 に答える