Get row ID of an SQLite FTS3 table

jake picture jake · Apr 9, 2011 · Viewed 9.3k times · Source

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?

Answer

compcentral picture compcentral · Apr 10, 2011

Try using:

select rowid,* from person

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