如何使用Poco以通用方式获取最后插入的ID?

时间:2015-09-28 09:56:12

标签: sql sqlite poco-libraries

我已经搜索了Poco的文档,但找不到一种方法来检索INSERT INTO表操作的最后插入的id。

Statement::execute文档说它返回受影响的记录数(对于批量插入可能大于1)。

如果它有任何区别我目前正在使用SQLite,但希望有一个适用于不同数据库引擎的通用解决方案。

2 个答案:

答案 0 :(得分:1)

对于SQLite,执行一个语句SELECT last_insert_rowid()

我知道这不是一般答案。

但是,这就是他们在Ti.Database模块中的做法 - 这是一个使用poco的Titanium模块。他们选择last_insert_rowid(),然后将其设置为语句的属性。

答案 1 :(得分:1)

Poco没有这样的设施。我们选择不提供它并让用户直接处理后端,而不是向后弯曲以抽象不同后端不一致的东西。请参阅this discussion