我看到我们不能在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
,它只能运行一次。有没有替代方案。
答案 0 :(得分:1)
您可以测试表的存在然后进行相应的分支:
SELECT DISTINCT tablename from sqlite_master where tablename = ?
答案 1 :(得分:1)
它只能工作一次,因为该表已经第二次存在。由于名称冲突,您收到错误。它按预期工作。你期待不同的东西吗?
不执行该声明将是一个不错的选择。不推荐决定是否将该语句运行到存储逻辑中。
如果您正在测试并希望每次都重新创建,那么只需删除该表。
DROP TABLE WORLD_LIST;
CREATE VIRTUAL TABLE WORLD_LIST USING FTS3...