soci:“插入”后返回主键

时间:2013-05-13 15:02:40

标签: c++ sql soci

我使用soci和C ++来访问我的数据库。是否可以修改以下表达式以获取为该表达式添加的行提供的新主键?

 *dbSession << "insert into myTable(myRow) values (:myVal)", soci::use(myVal);

e.g。

 long newID = *dbSession << "insert into myTable(myRow) values (:myVal)", soci::use(myVal);

这样我可以使用newID继续工作吗?在这种情况下,id是主键(bigserial)

1 个答案:

答案 0 :(得分:2)

在SQL中,您可以使用RETURNING来获取生成的ID 喜欢:INSERT INTO tbloCustomer (Name) VALUES ('Goofy') RETURNING ID;
(如果您的主键被称为ID;)