损坏的数据库表无法删除

时间:2017-05-27 20:19:43

标签: sqlite fts4

使用SQLite3和Ubuntu 14.04-LTS。在为FTS搜索创建虚拟表时,我设法输入错误。现在我无法删除表格。这就是我想要的:

CREATE VIRTUAL TABLE tFind USING FTS4(main TEXT, base TEXT, hash TEXT);

但是,我必须击中" 5"而不是" 4"现在我无法DROP这张桌子。当我尝试时,我收到此错误:

  

刷新表main.tFind的架构时出错:没有这样的模块FTS5

我搜索并找到了关于终端(CLI)的SQLite3的信息,但我不知道如何使用其中的命令。

我该如何修理?我有数百行数据和十几个表,所以我不能只用相同的表创建一个新的数据库。

1 个答案:

答案 0 :(得分:0)

问题解决了:发现以下“

Drop a table originally created with 'unknown tokenizer'?

  

然后使用(非常危险的)PRAGMA writable_schema删除   系统表中有关此表的剩余信息:

PRAGMA writable_schema = ON;
DELETE FROM sqlite_master WHERE type = 'table' AND name = 'tFind';

非常感谢CL。为那个帖子。