刚插入行的pqxx返回id 我使用C++ 4.8(可用4.9)和PQXX驱动程序。4.0.1. postgresdb是最新稳定的

刚插入行的pqxx返回id 我使用C++ 4.8(可用4.9)和PQXX驱动程序。4.0.1. postgresdb是最新稳定的,c++,database,postgresql,optimization,libpqxx,C++,Database,Postgresql,Optimization,Libpqxx,我的问题在于复杂性和资源平衡: 我需要执行insert to database(并且有可选的pqxx::result),表id中的id基于nextval(表id) 结果是否可以获取插入行的id?在这方面有一种解决方法,可以按顺序询问db有关currentvalue的信息,只插入currentvalue+1(或+n)的查询,但这需要执行“插入并询问”链 Db应能每秒存储超过6K个大型请求。因此,我想尽可能少地询问id。批量插入不是一个选项 如文件所述,您可以向INSERT查询添加RETURNING

我的问题在于复杂性和资源平衡:

我需要执行insert to database(并且有可选的pqxx::result),表id中的id基于nextval(表id)

结果是否可以获取插入行的id?在这方面有一种解决方法,可以按顺序询问db有关currentvalue的信息,只插入currentvalue+1(或+n)的查询,但这需要执行“插入并询问”链

Db应能每秒存储超过6K个大型请求。因此,我想尽可能少地询问id。批量插入不是一个选项

如文件所述,您可以向
INSERT
查询添加
RETURNING
子句,以从插入的行返回值。他们给出了一个与您想要的类似的示例,返回一个ID:

INSERT INTO distributors (did, dname) VALUES (DEFAULT, 'XYZ Widgets')
   RETURNING did;

首先,感谢您的快速回复!这可能就是我想要的。我将进行一些测试,以检查pqxx将如何响应该构造(主要是复杂性问题)。再次感谢大家!