如何使用 Poco 以通用方式获取最后插入的 ID?
How do I get the last inserted id in a generic way with Poco?
我已经搜索了 Poco 的文档,但找不到检索 INSERT INTO Table 操作的最后插入 ID 的方法。
Statement::execute 文档说它 returns 受影响的记录数(对于批量插入可能大于一个)。
如果它有任何不同,我目前正在使用 SQLite,但想要一个适用于不同数据库引擎的通用解决方案。
对于SQLite,执行一条语句,SELECT last_insert_rowid()
我知道这不是一个通用的答案。
但是,这就是他们在 Ti.Database 模块中的做法 - 这是一个使用 poco 的 Titanium 模块。他们 select last_insert_rowid() 然后将其设置为语句的 属性。
Poco没有这样的设施。我们没有向后弯曲以抽象出不同后端之间不一致的东西,而是选择根本不提供它,让用户直接与后端打交道。参见 this discussion。
我已经搜索了 Poco 的文档,但找不到检索 INSERT INTO Table 操作的最后插入 ID 的方法。
Statement::execute 文档说它 returns 受影响的记录数(对于批量插入可能大于一个)。
如果它有任何不同,我目前正在使用 SQLite,但想要一个适用于不同数据库引擎的通用解决方案。
对于SQLite,执行一条语句,SELECT last_insert_rowid()
我知道这不是一个通用的答案。
但是,这就是他们在 Ti.Database 模块中的做法 - 这是一个使用 poco 的 Titanium 模块。他们 select last_insert_rowid() 然后将其设置为语句的 属性。
Poco没有这样的设施。我们没有向后弯曲以抽象出不同后端之间不一致的东西,而是选择根本不提供它,让用户直接与后端打交道。参见 this discussion。