ログイン目的で使用されるユーザー名(一意のキー)とパスワードを持つテーブル(ログイン)があるとしましょう。
さて、登録モジュール(ログインテーブルに新しい行を追加して新しいアカウントを作成する)で、挿入を実行して、SQLException()が発生したときにユーザー名がすでにテーブルにあるかどうかを確認しても大丈夫ですか??? . それは良い習慣ですか?
登録モジュールの例を次に示します。
enter code here
String uname = request.getParameter("username");
String passwd = request.getParameter("password");
try
{
statement.executeUpdate("insert into login(username,password) values (" + uname + "," + passwd + ")");
}
catch(SQLException e)
{
if((e.getErrorCode())==1) //error code when primary key violated
{
// username already exists....
}
//some other code
}
//username is available....rest of the code goes here
最初に、ユーザー名(ユーザーが登録中に入力したもの)がすでにテーブルにあるかどうかを確認する選択クエリを考えました....しかし、それは私には冗長に思えました
というのも、そうしてもDBMSが一意性違反をチェックするのを妨げないからですよね????
前もって感謝します。