[英]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.