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