2016-06-02 6 views
0

Hier meine Datenbankstruktur istINSERT oder REPLACE in FTS Tabelle

CREATE VIRTUAL TABLE Products_fts USING fts4(PrdID, ConcatSearchField) 
CREATE UNIQUE INDEX CategoryProduct_MM_CatID_PrdID_idx ON CategoryProduct_MM(CategoryID,PrdID) 
CREATE INDEX CategoryProduct_MM_CatID_idx ON CategoryProduct_MM(CategoryID) 
CREATE INDEX CategoryProduct_MM_PrdID_idx ON CategoryProduct_MM(PrdID) 

Ich brauche es aus einer anderen Tabelle mit derselben Struktur zu aktualisieren.

Insert or Replace into Products_fts select * from mydb.Products_fts 

Daten werden eingefügt, aber es ist doppelt vorhanden. Wie fügt man ein oder ersetzt es?

Antwort

1

FTS Tabelle enthalten Rowid Feld versteckt, die verwendet werden können ersetzen führen

INSERT OR REPLACE 
INTO Products_fts (rowid, PrdID, ConcatSearchField) 
SELECT PrdID AS rowid, PrdID, ConcatSearchField FROM mydb.Products_fts