On 10-Mar-2011, at 6:52 AM, Jay A. Kreibich wrote: > On Wed, Mar 09, 2011 at 11:37:46PM +0100, Armin Kunaschik scratched on the > wall: >> On Wed, Mar 9, 2011 at 11:28 PM, Igor Tandetnik <itandet...@mvps.org> wrote: > >>> INSERT OR REPLACE is indistinguishable from a DELETE followed by INSERT. > >> Is it really DELETE and INSERT internally? > > Yes and no. "REPLACE" alters the conflict resolution on UNIQUE > constraints. In all cases, the new row is INSERTed. In the case of > a REPLACE, if the INSERT would cause a UNIQUE constraint violation > than any and all rows that are part of the conflict are first > deleted before the new row is INSERTed. In some situations a single > INSERT OR REPLACE can actually cause multiple existing rows to be > deleted before the new row is inserted. > > So it is always an INSERT, but sometimes the INSERT triggers one or > more internal DELETEs first.
So, that's explain why my column ID INTEGER PRIMARY KEY, changes when I use REPLACE. I could not rely on the ID with this command. regards, Radzi. _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users