繁体   English   中英

如何使用postgres sql客户端获取vertx中插入记录的id

[英]How to get the id of an inserted record in vertx using postgres sql client

我有一个函数将一条记录插入PostgreSQL数据库。 我的问题是如何获取插入记录的ID,因为ID是自动生成的这是代码

postgreSQLClient.getConnection(ar -> {
        if(ar.failed())
              LOGGER.error("saving message error:", ar.cause());
        else{
           SQLConnection conn = ar.result();
           conn.queryWithParams(insertStr.toString(), sqlParam, rs -> {
               conn.close();
               Constant.LOGGER.info("Save ID: " +rs.result());
           });
        }
    });

在insert语句中添加RETURNING子句。 请参阅https://www.postgresql.org/docs/current/static/sql-insert.html

这是来自vert.x文档,请参阅https://vertx.io/docs/vertx-mysql-postgresql-client/java/

关于最后插入的ID的注意事项

将新行插入表时,您可能希望从数据库中检索自动递增的ID。 JDBC API通常允许您从连接中检索最后插入的id。 如果您使用MySQL,它将像JDBC API一样工作。 在PostgreSQL中,您可以添加“RETURNING”子句以获取最新插入的ID。 使用其中一种查询方法来访问返回的列。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM