Если вы можете гарантировать, что ваш столбец ID
является столбцом с автоинкрементом, MAX(ID)
хорошо.
Но для любого случая есть специальная функция SQLite, которая называется LAST_INSERT_ROWID()
:
SELECT LAST_INSERT_ROWID();
В FMDB вы используете метод -lastInsertRowId
(который внутренне выполняет вышеуказанное):
int lastId = [fmdb lastInsertRowId];