检查Oracle数据库中是否存在用户-java jdbc
因此,我有一个工作代码/准备好的语句,将用户名和密码添加到数据库中,但是我需要检查代码中是否已经存在用户名检查Oracle数据库中是否存在用户-java jdbc,java,oracle,jdbc,Java,Oracle,Jdbc,因此,我有一个工作代码/准备好的语句,将用户名和密码添加到数据库中,但是我需要检查代码中是否已经存在用户名 public void addUser(Connection conn, PreparedStatement pstmnt, String username, String password) { try { pstmnt = conn.prepareStatement("insert into users values
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");
}
有什么简单的方法可以做到这一点吗?如果没有太多重复密钥风险,您可以尝试检查错误代码是否与“dup key error”()匹配
否则必须锁定整个表,检查密钥是否存在,更新然后提交(这将释放锁)您可以在数据库中添加一个唯一约束,并相应地在addUSer中处理异常在数据库中使用一个
唯一
约束不起作用?正如@UwePlonus所说的——只需在数据库级别强制执行约束即可。这就是主键。+1,这是最好的解决方案。例如,使用语句altertable users添加约束users\u uq\u name UNIQUE(username)代码>