2011-04-09 54 views
15

我已经创建了我使用的是Android开发平台中一个SQLite FTS3表行ID(target是2.2和minVersion为8)。例如,我创建的表如下:获取一个SQLite FTS3表

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

我知道,当我将数据插入到该表中,我long返回,这是插入在记录的行ID。我如何从此表中获取行ID?如果我执行:

select * from person 

我得到-1Cursor.getColumnColumnIndex("rowid");。另外,Cursor.getColumnNames()只显示两列('第一'和'最后'),而不是'rowid'。任何建议如何解决这个问题?

回答

38

尝试使用:

select rowid,* from person 

ROWID是一个隐藏字段,不包括在 “*”。

+0

谢谢。工作! – jake 2011-04-17 01:21:09

+0

不客气。很高兴帮助 – compcentral 2011-04-19 15:05:16

+0

这个问题一直让我疯狂2个小时。谢谢 – kolistivra 2011-05-08 17:32:21