2011-05-03 54 views

Trả lời

54

Nếu bạn có thể đảm bảo rằng cột ID của bạn là một cột tự động thặng dư, MAX(ID) là tốt.

Nhưng để trang trải mọi trường hợp, có một chức năng chuyên dụng SQLite gọi LAST_INSERT_ROWID():

SELECT LAST_INSERT_ROWID(); 

Trong FMDB, bạn sử dụng -lastInsertRowId phương pháp (mà trong nội bộ chạy trên):

int lastId = [fmdb lastInsertRowId]; 
+0

Tại sao [fmdb lastInsertRowId] luôn luôn trả về 0 đối với tôi? Liên kết – landonandrey

8

Chức năng sqlite3_last_insert_rowid() là những gì bạn đang tìm kiếm. Chỉ cần kiểm tra mã nguồn cho FMDB, có vẻ như là một phương thức trên FMDatabase được gọi là -lastInsertRowId kết thúc tốt chức năng.

+0

@FMDatabase không tồn tại –

-1

Hãy thử như sau:

var rowid: Int = Int(contactDB.lastInsertRowId()) 
Các vấn đề liên quan