2011-05-03 47 views

回答

54

如果你能保證你的ID列是自動增量列,MAX(ID)是罰款。

但覆蓋任何情況下,有一個名爲LAST_INSERT_ROWID()一個專門的SQLite的功能:

SELECT LAST_INSERT_ROWID(); 

在FMDB,您使用-lastInsertRowId方法(在內部運行上圖):

int lastId = [fmdb lastInsertRowId]; 
+0

爲什麼[FMDB lastInsertRowId]總是爲我返回0? – landonandrey 2016-03-12 18:06:19

8

功能sqlite3_last_insert_rowid()是你在找什麼。剛剛檢出FMDB的源代碼後,似乎有一個FMDatabase的方法調用-lastInsertRowId來包裝函數。

+0

@FMDatabase鏈接不存在 – 2016-09-09 05:23:25

-1

嘗試以下操作:

var rowid: Int = Int(contactDB.lastInsertRowId())