android sqlite fts3如果不存在则创建表

时间:2012-06-19 19:23:37

标签: android sqlite fts3

我看到我们不能在create virtual table statement

中使用“if not exists”
CREATE VIRTUAL TABLE WORLD_LIST IF NOT EXISTS USING FTS3(_ID INTEGER PRIMARY KEY AUTOINCREMENT, WORD TEXT)

如果我删除IF NOT EXISTS,它只能运行一次。有没有替代方案。

2 个答案:

答案 0 :(得分:1)

您可以测试表的存在然后进行相应的分支:

SELECT DISTINCT tablename from sqlite_master where tablename = ?

答案 1 :(得分:1)

它只能工作一次,因为该表已经第二次存在。由于名称冲突,您收到错误。它按预期工作。你期待不同的东西吗?

不执行该声明将是一个不错的选择。不推荐决定是否将该语句运行到存储逻辑中。

如果您正在测试并希望每次都重新创建,那么只需删除该表。

DROP TABLE WORLD_LIST;
CREATE VIRTUAL TABLE WORLD_LIST USING FTS3...