所以我有这个工作代码/准备好的语句,它将用户名和密码添加到数据库中,但是我需要检查代码中是否已存在用户名。
public void addUser(Connection conn, PreparedStatement pstmnt, String username, String password)
{
try
{
pstmnt = conn.prepareStatement("insert into users values (?,?,?)");
pstmnt.setInt(1, 0);
pstmnt.setString(2, username);
pstmnt.setString(3, password);
pstmnt.executeUpdate();
}
catch (SQLException e) { System.out.println("Error: " + e.getMessage()); }
System.out.println(username + " has been added");
}
有没有简单的方法可以做到这一点?
答案 0 :(得分:1)
您可以在数据库中添加唯一约束,并相应地在addUSer中处理异常
答案 1 :(得分:0)
如果没有多少重复密钥风险,您可以尝试检查错误代码是否与“重复密钥错误”(Error ORA-00001)匹配。
否则你必须锁定整个表,检查密钥是否存在,更新然后提交(释放锁)