【发布时间】:2013-01-09 11:30:02
【问题描述】:
我有一个作者表:authorID、authorName。 authorID 是一个自动递增的 pk。
我想在 java 中编写一个从用户获取名称并将其添加到表中的方法。但是我需要返回作者的 ID。有没有办法用 1 条 sql 语句来做到这一点?
例如,如果我的代码有命令:
stmt.executeUpdate("INSERT INTO authors " + "VALUES (, '"+ string.get(1) +"')");
which string.get(1) 是作者姓名。
现在如果我写:
ResultSet rs =stmt.executeUpdate("INSERT INTO authors " + "VALUES (, '"+ string.get(1) +"')");
它说错误,因为 rs 是结果集,但返回值是 int。这是我插入的行的 pk 吗?
【问题讨论】:
-
不,它是根据您的查询修改的行数。主键并不总是你知道的单个整数。
-
int 是受影响的行数,意味着如果您执行了一次插入,那么 int 将为 1。
-
string.get(1)来自哪里?牢记Little Bobby Tables! -
OKI thx,但我仍然不知道我是否可以插入行并使用 1 个 sql 语句获取它的 pk?
-
你可以。我在下面发布的代码有效。