获取SQLite上最后一个插入行的ID的最佳方法
在iPhone上,使用FMDB获取SQLite数据库上最后插入行的ID的最佳方法是什么?
有没有更好的办法,而不是做:
SELECT MAX(ID)
如果您可以保证您的ID
列是一个自动增量列, MAX(ID)
罚款。
但是为了覆盖任何情况,还有一个叫做LAST_INSERT_ROWID()
的专门的SQLite函数:
SELECT LAST_INSERT_ROWID();
在FMDB中,使用-lastInsertRowId
方法(内部运行上面的方法):
int lastId = [fmdb lastInsertRowId];
函数sqlite3_last_insert_rowid()是你在找什么。 刚刚检出了FMDB的源代码,似乎在FMDatabase上有一个名为-lastInsertRowId
的方法来封装函数。
尝试以下操作:
var rowid: Int = Int(contactDB.lastInsertRowId())