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

Reply via email to