在 SQLite 上获取最后插入行的 ID 的最佳方法
在 iPhone 上,使用 FMDB 获取 SQLite 数据库上最后插入行的 ID 的最佳方法是什么?
有没有更好的方法而不是这样做:
SELECT MAX(ID)
On iPhone, what's the best way to get the ID of the last inserted row on an SQLite Database using FMDB ?
Is there a better way rather than doing :
SELECT MAX(ID)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
如果您可以保证您的
ID
列是自动递增列,则MAX(ID)
就可以了。但为了涵盖任何情况,有一个专门的 SQLite 函数,名为
LAST_INSERT_ROWID()
< /a>:在 FMDB 中,您使用
-lastInsertRowId
方法(该方法在内部运行上述内容):If you can guarantee that your
ID
column is an auto-increment column,MAX(ID)
is fine.But to cover any case, there's a specialized SQLite function called
LAST_INSERT_ROWID()
:In FMDB, you use the
-lastInsertRowId
method (which internally runs the above):函数 sqlite3_last_insert_rowid() 就是您要寻找的。刚刚检查了 FMDB 的源代码,FMDatabase 调用包装该函数的
-lastInsertRowId
。The function sqlite3_last_insert_rowid() is what you're looking for. Having just checked out the source code for FMDB, there seems to be a method on FMDatabase called
-lastInsertRowId
that wraps the function.对于 swift 5 使用此代码
例如
For swift 5 use this code
for example
请尝试以下操作:
Try the following: