现在,您要从中选择所有行,
SAVINGS并尝试为每个没有“新”帐号的行插入一个新帐户。
相反,您应该只选择具有新帐号的行,并在不存在该行的情况下插入。
您还应该使用准备好的语句来防止SQL注入。
例如:
try (PreparedStatement checkAccountExists = con.prepareStatement( "SELECt 1 FROM SAVINGS WHERe ACCOUNTNUMBER = ?")) { checkAccountExists.setInt(1, accountNumber); try (ResultSet rs = checkAccountExists.executeQuery()) { if (rs.next()) { // handle account already exists } else { try (PreparedStatement insert = con.prepareStatement( "INSERT INTO SAVINGS(ID, ACCOUNTNUMBER, CUSTOMERNAME, BALANCE, MINMUM) VALUES (?, ?, ?, ? , ?)")) { insert.setInt(1, id); insert.setInt(2, accountNumber); insert.setString(3, customername); insert.setInt(4, balance); insert.setInt(5, minmum); insert.executeUpdate(); } } }}
另外,您可以
ACCOUNTNUMBER在数据库中定义一个唯一约束,然后执行插入 *** 作,并在记录已存在的情况下处理约束违例。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)