我将 JDBC 与 mysql 一起使用。我可以让我的查询很好地工作。但是对于更新查询,例如我想知道是否有任何方法可以确定更新是否成功,例如如果找不到该行。
UPDATE TABLE SET column = 'newvalue' WHERE primary_key =2
如果可能,我想获得特定的错误消息,这样我可以抛出一个特定的异常来说明查询失败的原因。
谢谢你的帮助。
executeUpdate() 将返回受 SQL 语句影响的行数:
int rows = stmt.executeUpdate("UPDATE ...");
System.out.println(rows + " rows updated");
当然,您可以通过简单地查看 JavaDocs来发现自己:
返回:(1) SQL 数据操作语言 (DML) 语句的行数或 (2) 0 用于不返回任何内容的 SQL 语句
executeUpdate返回受影响行的行数。您可以使用它来检查您的更新是否成功执行:
PreparedStatement pstmt = con.prepareStatement("UPDATE TABLE ...");
int rowsUpdated = pstmt.executeUpdate();
if (rowsUpdated == 0) {
// handle no update
}