在iPhone上,使用FMDB獲取SQLite數據庫上最後一個插入行的ID的最佳方式是什麼?獲取SQLite上最後一個插入行的ID的最佳方式
有沒有更好的辦法,而不是做:
SELECT MAX(ID)
在iPhone上,使用FMDB獲取SQLite數據庫上最後一個插入行的ID的最佳方式是什麼?獲取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
來包裝函數。
@FMDatabase鏈接不存在 – 2016-09-09 05:23:25
嘗試以下操作:
var rowid: Int = Int(contactDB.lastInsertRowId())
爲什麼[FMDB lastInsertRowId]總是爲我返回0? – landonandrey 2016-03-12 18:06:19