Discovered this tonight answering a question on stack overflow: sqlite> create table foo(a, b); sqlite> insert into foo(a,b,a,b) values(1,2,3,4); sqlite> select * from foo; a b ---------- ---------- 1 2
Inserting a column multiple times only uses the first corresponding value. I don't see this documented anywhere. By contract, a single UPDATE of the same column multiple times uses the last one and ignores the rest: sqlite> update foo set a=3, a=4; sqlite> select * from foo; a b ---------- ---------- 4 2 And that is documented. The inconsistency is annoying, but changing how either one works will doubtless break somebody's code. Maybe clarify INSERT's behavior in its documentation? Logging a warning in the case of a column being used multiple times might be nice too. _______________________________________________ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users