使用 Statement.RETURN_GENERATED_KEYS 例程从表中检索最后插入的身份 ID?

发布于 2024-12-12 08:42:50 字数 522 浏览 1 评论 0原文

可能的重复:
如何在 JDBC 中获取插入 ID?

在下面语句,如何获取最后插入的 C12 标识值?这是来自 JavaDB 手册,但他们没有提到如何从该记录集中检索最后插入的值。

CREATE TABLE TABLE1 (C11 int, C12 int GENERATED ALWAYS AS IDENTITY)

Statement stmt = conn.createStatement(); 
stmt.execute(
    "INSERT INTO TABLE1 (C11) VALUES (1)",
    Statement.RETURN_GENERATED_KEYS);
ResultSet rs = stmt.getGeneratedKeys();

Possible Duplicate:
How to get the insert ID in JDBC?

In the following statement, how can I fetch the last inserted C12 identity value? This is from the JavaDB manual, but they have not mentioned how to retrieve this last inserted value from this record set.

CREATE TABLE TABLE1 (C11 int, C12 int GENERATED ALWAYS AS IDENTITY)

Statement stmt = conn.createStatement(); 
stmt.execute(
    "INSERT INTO TABLE1 (C11) VALUES (1)",
    Statement.RETURN_GENERATED_KEYS);
ResultSet rs = stmt.getGeneratedKeys();

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

明天过后 2024-12-19 08:42:50

下面是获取生成密钥的示例:

ResultSet rs = statement.getGeneratedKeys();
if (rs != null && rs.next()) {
    key = rs.getLong(1);
}

PS:相关的 StackOverflow 问题 就足够了。

Here's an example to get generated keys:

ResultSet rs = statement.getGeneratedKeys();
if (rs != null && rs.next()) {
    key = rs.getLong(1);
}

PS: A related StackOverflow question can suffice.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文