2011-09-19 4 views
12

Existe-t-il un moyen de créer une table FTS dans SQLite pré-remplie avec des données provenant d'une requête SELECT?SQLite crée une table FTS pré-remplie

Je sais qu'il est possible de créer une table régulière qui est prérempli avec les données d'un SELECT: CREATE TABLE foo AS SELECT ref_id, name FROM other_table

Et nous pouvons créer une table FTS comme ceci: CREATE VIRTUAL TABLE bar USING FTS3(ref_id, name)

Le point de le faire est pour mettre à jour le schéma de base de données SQLite de mon application tout en évitant de lire dans toutes les données de other_table. J'espère vraiment qu'il y a un moyen de permettre à SQLite de faire le gros du travail ici (ce qui est vraiment bien!).

Répondre

22

Je ne sais pas si vous pouvez le faire dans une déclaration, mais vous pouvez le faire en deux ... après votre déclaration CREATE VIRTUAL TABLE, vous pouvez faire: INSERT INTO bar SELECT * FROM other_table

+0

Merci! En fait, je viens de le découvrir moi-même. Je suppose que c'est probablement le moyen le plus efficace ... BEAUCOUP plus que de boucler sur les résultats d'un select dans mon code C. –

Questions connexes