获取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())