QA@IT
«回答へ戻る

回答を投稿

もう答えがコメントで書かれていますが、一意制約があるのですからそれに任せるとよいです。
最初からいきなりINSERTを実行してください。
すでに同様のメールアドレスでの登録があればMySQLは一意制約違反のエラーを返します。
なければ正常に登録が完了します。

フロント側のアプリケーションは何らかのフレームワークなりO/RマッパーなりDB仮想化レイヤなりを使っていると思います。
MySQLから返された一意制約違反を受けて例外をスローするなど、適切に扱う仕組みがもうあると思います。
開発中のアプリケーションではそういった例外なりを受けて、ヴァリデーションエラーなりなんなりの業務エラーや業務例外を実装することになります。
ユーザ登録とかそういう機能なのかな、と思いますがその場合はヴァリデーションエラーとかになりますかね。

もう答えがコメントで書かれていますが、一意制約があるのですからそれに任せるとよいです。
最初からいきなりINSERTを実行してください。
すでに同様のメールアドレスでの登録があればMySQLは一意制約違反のエラーを返します。
なければ正常に登録が完了します。

フロント側のアプリケーションは何らかのフレームワークなりO/RマッパーなりDB仮想化レイヤなりを使っていると思います。
MySQLから返された一意制約違反を受けて例外をスローするなど、適切に扱う仕組みがもうあると思います。
開発中のアプリケーションではそういった例外なりを受けて、ヴァリデーションエラーなりなんなりの業務エラーや業務例外を実装することになります。
ユーザ登録とかそういう機能なのかな、と思いますがその場合はヴァリデーションエラーとかになりますかね。