2011-04-12 58 views
4

我想在sqlite3中使用fts3創建一個虛擬表,並有一列作爲自動增量,但是當插入值時,列沒有被填充。 代碼:SQLite3 fts3 AUTOINCREMENT不工作

CREATE VIRTUAL TABLE contact 
USING fts4(
    id INTEGER PRIMARY KEY AUTOINCREMENT, 
    name TEXT); 

當插入:插入聯繫人(姓名)值(「ABC」)的「ID」字段是沒有得到增加,並期待在表中的數據只
| ABC

是自動增量不支持sqlite3的fts3?

問候,
約翰

回答

3

我找到了這個問題的答案在另一個問題here

簡短的回答是使用的FTS3表的id列「ROWID」(特列) 。 不確定您是否可以引用rowid列,因爲我還沒有嘗試過。

希望這可以解決您的問題。 :)

1

在創建FTS'虛擬表'時,它忽略列名(除了列名(例如自動增量,主鍵,唯一,甚至整數))以外的所有內容。 FTS表的所有內容都只是文本。它在沒有錯誤的情況下讀取這些關鍵字,但它們只是每個文檔的「含糖語法」。

http://www.sqlite.org/fts3.html