SQLite3 fts3 AUTOINCREMENT无法正常工作

时间:2011-04-12 12:31:07

标签: sqlite fts3

我正在尝试使用fts3在sqlite3中创建一个虚拟表,并将列作为自动增量但是在插入值时,该列不会被填充。 代码:

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

插入时:插入接触(名称)值('abc')'id'字段没有增加,表格中的数据仅显示为| abc


sqlite3的fts3中是否不支持自动增量?

的问候,
约翰

2 个答案:

答案 0 :(得分:3)

我在另一个问题here

中找到了这个问题的答案

简短的回答是使用“rowid”列(特殊列)作为fts3表的id。 不确定你是否可以引用rowid列,因为我还没有尝试过。

希望这能解决您的问题。 :)

答案 1 :(得分:1)

创建FTS“虚拟表​​”时,它会忽略除列名称之外的所有内容(例如自动增量,主键,唯一,甚至是整数)。 FTS表的所有内容都只是文本。它会毫无错误地读取这些关键字,但根据文档它们只是“含糖语法”。

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