トランザクション内で「重複チェック」してから「DB登録実行」しても重複が発生する場合がある

例えば「ユーザー名」など重複を許さない項目はDBへ登録クエリを投げる前にバリデーションで重複チェックするが、普通にやっていると「重複チェックをパスしたのに、DB登録実行時点では重複が発生している」となるケースが存在する。 「重複チェック」と「DB登録実行」が同一トランザクション内に記載されていても起こる。…