2017-10-07 109 views
1

示例模式:如何獲取虛擬表的名稱?

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

選擇表名:

SELECT name FROM sqlite_master WHERE type='table'; 

結果:

 
posts 
posts_data 
posts_idx 
posts_content 
posts_docsize 
posts_config 

如何獲取導致只爲虛表,沒有*_data*_idx*_content*_docsize*_config

回答

1

FTS模塊使用shadow tables來存儲實際數據及其索引。

但這些都是「真實」的表,所以你可以簡單地使用過濾器只得到sqlite_master條目虛表:

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