如何获取虚拟表的名称?

How to fetch names of virtual tables?

示例架构:

CREATE VIRTUAL TABLE posts USING FTS5(title, body);

Select table 姓名:

SELECT name FROM sqlite_master WHERE type='table';

结果:

posts
posts_data
posts_idx
posts_content
posts_docsize
posts_config

如何仅获取虚拟 table 的结果,而不获取 *_data*_idx*_content*_docsize*_config

FTS 模块使用 shadow tables 存储实际数据及其索引。

但这些是 'real' 个表,因此您可以简单地使用筛选器只获取虚拟表的 sqlite_master 个条目:

SELECT name
FROM sqlite_master
WHERE type = 'table'
  AND sql LIKE 'CREATE VIRTUAL TABLE%';