androidandroid-sqlitefts3

Get row ID of an SQLite FTS3 table


I have created an SQLite FTS3 table that I am using within the Android development platform (target is 2.2 and minVersion is 8). For example, I created the table as follows:

create virtual table person using fts3(first,last);

I know that when I insert data into this table, I long is returned, which is the row ID of the record inserted. How do I get the row ID from this table? If I perform:

select * from person

I get -1 for Cursor.getColumnColumnIndex("rowid");. Also, Cursor.getColumnNames() only shows the two columns ('first' and 'last') and not the 'rowid'. Any suggestikns on how to solve this problem?


Solution

  • Try using:

    select rowid,* from person
    

    Rowid is a hidden field and is not included in "*".