On 11/15/2015 7:24 PM, Randy Eels wrote: > My main question is: is an 'INTEGER PRIMARY KEY' column guaranteed not to > change, except as a consequence of ordinary UPDATE statements? (And in > particular, not as a consequence of a 'vacuum' statement.)
Yes. From the documentation for VACUUM ( http://sqlite.org/lang_vacuum.html ): "The VACUUM command may change the ROWIDs of entries in any tables that do not have an explicit INTEGER PRIMARY KEY." > I'd also thank further explanation as to why the 'vacuum' statement doesn't > change 'rowid's when an explicit 'INTEGER PRIMARY KEY' is declared. Because it's deliberately implemented this way, and documented to behave this way. I suppose I don't quite understand the question. -- Igor Tandetnik