繁体   English   中英

SQLite检查表是否为FTS4

[英]SQLite Check if Table is FTS4

我正在开发一个使用带有FTS4表的SQLite数据库的Android应用。

在应用程序中,有一个选项可以从外部存储器导入数据库。 需要检查该数据库以确认它具有所有正确的表和列。 我已经有执行此操作的代码,但是我不知道如何检查表是否“正常”或FTS4。 稍后将导致对带有MATCH查询产生问题。

我能想到的检查表是否为FTS4的唯一方法是使用MATCH进行随机查询,如果出现错误,是因为它们不是。

有没有像使用命令那样更好的方法呢?

仅在表具有至少一行的情况下,在普通表上使用MATCH才会导致错误消息。

FTS表具有一个虚拟列,其名称与表名称相同。 因此,您可以尝试使用类似SELECT MyTable FROM MyTable的查询。

您可以检查影子表MyTable_contentMyTable_segdir等)是否存在。

您可以检查系统表中的CREATE TABLE语句: SELECT sql FROM sqlite_master WHERE type = 'table' AND name = 'MyTable';

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM