我已经搜索了Poco的文档,但找不到一种方法来检索INSERT INTO表操作的最后插入的id。
Statement::execute文档说它返回受影响的记录数(对于批量插入可能大于1)。
如果它有任何区别我目前正在使用SQLite,但希望有一个适用于不同数据库引擎的通用解决方案。
答案 0 :(得分:1)
对于SQLite,执行一个语句SELECT last_insert_rowid()
我知道这不是一般答案。
但是,这就是他们在Ti.Database模块中的做法 - 这是一个使用poco的Titanium模块。他们选择last_insert_rowid(),然后将其设置为语句的属性。
答案 1 :(得分:1)
Poco没有这样的设施。我们选择不提供它并让用户直接处理后端,而不是向后弯曲以抽象不同后端不一致的东西。请参阅this discussion。