I can't reproduce your problem on version 3.07 using the
interactive shell.  Here's a transcript, after pasting the
create statements from your post into the shell:

sqlite> insert into data (key_ref,value) values (1, 'abcd'); 
sqlite> select * from data;
ref         key_ref     value       reason           user        timestamp 
----------  ----------  ----------  ---------------  ----------  ----------
1           1           abcd        Initial version  unknown     none      
sqlite> select * from data_history;
sqlite> insert into data (key_ref,value) values (2, 'efgh');
sqlite> select * from data;
ref         key_ref     value       reason           user        timestamp 
----------  ----------  ----------  ---------------  ----------  ----------
1           1           abcd        Initial version  unknown     none      
2           2           efgh        Initial version  unknown     none      
sqlite> select * from data_history;
sqlite> update data set reason='Second version', user='Joe' where ref=1;
sqlite> select * from data;
ref         key_ref     value       reason          user        timestamp 
----------  ----------  ----------  --------------  ----------  ----------
1           1           abcd        Second version  Joe         none      
2           2           efgh        Initial versio  unknown     none      
sqlite> select * from data_history;
ref         data_ref    value       reason           user        timestamp 
----------  ----------  ----------  ---------------  ----------  ----------
1           1           abcd        Initial version  unknown     none      

When you submit a problem like this, it's a good idea to
include code that will reproduce the problem when typed
into the SQLite shell.  If you can't reproduce the problem
in the shell, you should say how you were accessing the
database, i.e., from C, Tcl, Perl, etc.  It's also a good
idea to mention your operating system and the version of
SQLite.

Regards

Reply via email to