【发布时间】:2021-06-30 14:49:40
【问题描述】:
我正在尝试考虑一些错误场景,假设我们有一个简单的语句,例如:
INSERT INTO CAT_TABLE (NAME, BREED, AGE) VALUES ("Henry", "Siamese", 2)
这里的主键是猫的名字。在大多数情况下,如果不是所有情况,这应该返回 1。就 JDBC API 而言,是否有时间它可以返回不是 1 的东西?我知道如果值本身存在问题,它只会抛出 SQL 异常,但什么时候会抛出 0 或某个数值而不是 1?
更新:
使用此语句的 Java 代码类似于:
Connection connection = getConnection(...);
PreparedStatement ps = connection.prepareStatement(sql);
int result = ps.executeUpdate();
connection.commit();
return result;
【问题讨论】:
-
出于兴趣,你会如何处理一只也叫亨利的 2 岁大的波斯猫?
-
这应该返回 1 是什么意思? SQL 语句不是返回值的函数。
-
@forpas 我添加了更新
-
@Stu 我要么抛出异常并返回返回的 sql 错误,要么使用 select,如果存在,则抛出异常