根据 CREATE VIRTUAL TABLE syntax, IF NOT EXISTS 子句为not available。
如果虚拟表已经存在而不使用 DROP TABLE IF EXISTS ,我该如何处理这种情况?
我想使用rtree和fts模块。
答案 0 :(得分:5)
您可以使用
select DISTINCT tbl_name from sqlite_master where tbl_name = ?
然后将虚拟表名绑定到您的语句并调用sqlite3_step()。如果你得到SQLITE_ROW,那么你的表就存在了。要确定它是虚拟表,请在rootpage
列中选中“0”。
答案 1 :(得分:1)
从sqlite 3.7.11开始支持此功能。