Am 30.08.2009 um 17:56 schrieb Kit:

> 2009/8/29 Wanadoo Hartwig <hartwig.wiesm...@wanadoo.nl>:
>> The largest and last row id is 4. Why is SQLite returning 5? I think
>> it has to do with the FTS3 module but still the trigger statement
>> should shield the row ids from the trigger statement, or?
>> Hartwig
>
> CREATE TABLE Simple (ID integer primary key, Name text);
> CREATE TABLE SimpleFTS (Name);
> CREATE TRIGGER DeleteTrigger AFTER DELETE ON Simple FOR EACH ROW
>   BEGIN
>   DELETE FROM SimpleFTS WHERE (rowid=OLD.ID);
>   END;
> CREATE TRIGGER InsertTrigger AFTER INSERT ON Simple FOR EACH ROW
>   BEGIN
>   INSERT INTO SimpleFTS (rowid,Name) VALUES(NEW.ID,NEW.Name);
>   END;
> INSERT INTO Simple (Name) VALUES('one');
> INSERT INTO Simple (Name) VALUES('two');
> DELETE FROM Simple WHERE (ID = 1);
> INSERT INTO Simple (Name) VALUES('three');
> SELECT * FROM Simple;
> 2|two
> 3|three
> SELECT last_insert_rowid() FROM Simple;
> 3
> 3
>
> Perfect.
>

I know. Therefore, you have to use FTS3.

BTW: RTree seems to work.

> sqlite> CREATE VIRTUAL TABLE SimpleFTS USING FTS3 (Name);
> SQL error: no such module: FTS3
>
> What's FTS3? http://dotnetperls.com/sqlite-fts3 ?
>

FTS3 is the built-in full-text search engine. You have to compile  
SQLite with SQLITE_ENABLE_FTS3.

> <cite>Virtual tables are a new feature in SQLite (currently still only
> available from the development version on CVS)</cite>
> -- 
> Kit
> _______________________________________________
> sqlite-users mailing list
> sqlite-users@sqlite.org
> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Hartwig


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

Reply via email to