Showing posts with label get the last inserted row id from sqlite in android. Show all posts
Showing posts with label get the last inserted row id from sqlite in android. Show all posts

Tuesday, January 8, 2013

Get the last inserted row id from sqlite android



How  to get the last inserted row id  from sqlite :
I believe selecting from SQL_LITE_SEQUENCE will get the latest ID from ANY table, you can also access the SQL_LITE_SEQUENCE by selecting ROWID on any table, and getting just the IDs for that table

String query = "SELECT ROWID from MYTABLE order by ROWID DESC limit 1";
Cursor c = db.rawQuery (query);
if (c != null && c.moveToFirst()) 
{
    lastId = c.getLong(0);
//The 0 is the column index, we only have 1 column, so the index is 0
}

(Note that although the SQL Lite docs call ROWID an Integer, it is a 64 bit integer, so in Java it should be retrieved as a long.)
    
  (or)

We can use

SELECT last_insert_rowid();

If you are using AUTOINCREMENT keyword then
SELECT * from SQLITE_SEQUENCE;
will tell you the values for every table.