2011-05-03 39 views

Respuesta

54

Si usted puede garantizar que su columna ID es una columna de incremento automático, MAX(ID) está muy bien.

Pero para cubrir cualquier caso, hay una función especializada SQLite llamada LAST_INSERT_ROWID():

SELECT LAST_INSERT_ROWID(); 

En FMDB, se utiliza el -lastInsertRowId método (que ejecuta internamente lo anterior):

int lastId = [fmdb lastInsertRowId]; 
+0

Por qué [FMDB lastInsertRowID] siempre devuelve 0 para mí? – landonandrey

8

La función sqlite3_last_insert_rowid() es lo que estás buscando. Después de haber comprobado el código fuente de FMDB, parece haber un método en FMDatabase llamado -lastInsertRowId que envuelve la función.

+0

El enlace @FMDatabase no existe –

-1

intente lo siguiente:

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