如何获取虚拟表的名称?
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%';
示例架构:
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%';