2011-09-19 7 views
12

Esiste un modo per creare una tabella FTS in SQLite che sia pre-compilata con i dati di una query SELECT?SQLite crea una tabella FTS prepopolata

so che è possibile creare una tabella normale che viene precompilato con i dati di una SELECT: CREATE TABLE foo AS SELECT ref_id, name FROM other_table

e siamo in grado di creare una tabella di FTS in questo modo: CREATE VIRTUAL TABLE bar USING FTS3(ref_id, name)

Il punto di fare questo è per aggiornare lo schema del database SQLite della mia app evitando la lettura di tutti i dati da other_table. Spero davvero che ci sia un modo per permettere a SQLite di fare tutto il lavoro pesante qui (che è quello che è veramente buono!).

risposta

22

io non sono sicuro se è possibile farlo in un comunicato, ma si può fare in due ... dopo la vostra CREATE VIRTUAL TABLE dichiarazione, si può fare: INSERT INTO bar SELECT * FROM other_table

+0

Grazie! In realtà l'ho appena scoperto. Sto indovinando che è probabilmente il modo più efficiente ... MOLTO più che il ciclo sui risultati di una selezione nel mio codice C. –