2011-04-09 34 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