UPSERT / INSERT ON CONFLICT PK Autoincrement When conflict occurs, no import performs ( as expected ), but PK is incremented nevertheless.
example (focus on sqlite_sequence.seq) : run1: initial values - all ok run2: all conflict; no insert (ok) - but sqlite_sequence.seq incremented ( I would expect seq unchanged - thus seq=3) run3: 1x insert + 2x conflict - sqlite_sequence.seq incremented regardless of number of inserts / conflicts ( I would expect seq incremented depending on number of inserts - thus seq=4) CREATE TABLE [t1]( [id] INTEGER PRIMARY KEY AUTOINCREMENT, [col1] TEXT, [col2] INTEGER DEFAULT 0, UNIQUE([col1])); ------------------------------------------------ run 1: insert into t1 (col1) values ('A'),('B'),('C') on conflict (col1) do update set col2=col2+1 ; t1: id col1 col2 1 A 0 2 B 0 3 C 0 sqlite_sequence: name seq t1 3 ------------------------------------------------ run 2: insert into t1 (col1) values ('A'),('B'),('C') on conflict (col1) do update set col2=col2+1 ; t1: id col1 col2 1 A 1 2 B 1 3 C 1 sqlite_sequence: name seq t1 6 ------------------------------------------------ run 3: insert into t1 (col1) values ('A'),('X'),('C') on conflict (col1) do update set col2=col2+1 ; t1: id col1 col2 1 A 2 2 B 1 3 C 2 8 X 0 sqlite_sequence: name seq t1 9 Please, can you look at it ? thx StanoZ zabkast...@zelpo.sk _______________________________________________ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users