假设我有一个表(登录),其中包含用户名(唯一密钥)和密码,用于登录目的。
现在,在注册模块中(通过在登录表中添加一个新行来创建一个新帐户),如果我只执行插入并在 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 检查唯一性违规,对吗????
提前致谢。