Problem solved:

a). I was using an old test directory with version 3.5.4 of sqlite3.exe, hence 
the errors in the condition (I suppose).

b) Once updated to the 3.7.9 version, and went away the syntax errors, I 
mistakenly believed that the sentence did not produce any results because the 
dBase file maintained its size on disk, and I expected a substantial increase 
with the addition of the new FTS4 stuff.

The fact is that a 95 MB dBase, did not experienced any increase in size after 
include about 300 records in the new  FTS4 table. Possibly because the dBase l 
test, contains tables with many deleted space, that now has been reused.

Sorry for having wasted the time of those who have been kind enough to read my 
first post.

--
Adolfo

>
> ---- Original message ----
> From: Adolfo Jiménez Millán <a...@zator.com>
>
>Hi all:
>
>Assuming a normal table:
>
>CREATE TABLE names (Id INTEGER PRIMARY KEY, Nm INTEGER);
>
>And an FTS4 table:
>
>CREATE VIRTUAL TABLE fts USING fts4 (name, tokenize=simple);
>
>I want populate the FTS4 table from the content of the names table using the 
>second form of the INSERT statement:
>
>INSERT INTO fts (rowid, name) SELECT so.Id, so.Nm FROM names so WHERE 
>(so.Id>1000 AND so.Id<2000);
>
>I get an Error:constraint failed
>
>Even if I use an statement that does not return error, I.e:
>
>INSERT INTO fts (name) SELECT so.Nm FROM names so WHERE so.Id>1000;
>
>The result do nothing although the names table is populated.
>


_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to