我看到我们不能在创建虚拟表语句中使用“如果不存在”
CREATE VIRTUAL TABLE WORLD_LIST IF NOT EXISTS USING FTS3(_ID INTEGER PRIMARY KEY AUTOINCREMENT, WORD TEXT)
如果我删除IF NOT EXISTS
它,它只能工作一次。有没有其他选择。
您可以测试表的存在,然后相应地分支:
SELECT DISTINCT tablename from sqlite_master where tablename = ?
它只工作一次,因为该表已经存在第二次。由于名称冲突,您收到错误消息。它按预期工作。你期待不同的东西吗?
不执行该语句将是一个不错的选择。不建议将是否运行该语句的决定推送到存储逻辑中。
如果您正在测试并希望每次都重新创建,那么只需删除表。
DROP TABLE WORLD_LIST;
CREATE VIRTUAL TABLE WORLD_LIST USING FTS3...