一意のインデックスを含まないテーブルに行を挿入するときに競合状態を防ぐにはどうすればよいですか。たとえば、私のテーブルが....だとします。
key | slot | label
------------------
1 | 1 | some
1 | 2 | some
2 | 1 | some
2 | 2 | some
... このような競合状態を防止して、"key:slot" などの複合一意フィールドを作成する唯一の方法です。
id | key | slot | label
------------------------
1:1 | 1 | 1 | some
1:2 | 1 | 2 | some
2:1 | 2 | 1 | some
2:2 | 2 | 2 | some
...または、私を逃れたより効率的な方法はありますか? 挿入が実行された後に重複行をチェックし、見つかった場合はトランザクションをロールバックするとどうなりますか?