根据创建虚拟表 syntax , IF NOT EXISTS 子句是 not available .
如果不使用DROP TABLE IF EXISTS,如果虚拟表已经存在,我应该如何处理?
我想使用 rtree 和 fts 模块。
最佳答案
你可以使用
select DISTINCT tbl_name from sqlite_master where tbl_name = ?
然后将虚拟表名称绑定(bind)到您的语句并调用 sqlite3_step()。如果你得到 SQLITE_ROW 回来,那么你的表存在。要确定它是一个虚拟表,请检查 rootpage
列中的“0”。
关于c - 如果不存在则创建虚拟表的替代方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5012103/