On 19 Mar 2019, at 13:46, R Smith <ryansmit...@gmail.com> wrote: > Three ways in SQL to create and fill a table with data from another: > > 1. CREATE ... AS > Example: > CREATE TABLE newTable AS SELECT a,b,c FROM oldTable;
> 2. CREATE TABLE + INSERT > Example: > CREATE TABLE newTable(a INT, b REAL, c TEXT); > INSERT INTO newTable(a.b.c) SELECT a,b,c FROM oldTable; My use case is a mixture of these. My need is to copy a row from a table in one db (db1) to a table with identical schema in another db (db2). The complication is that there is an id column, so the row needs to get a new id in db2. At the minute I open db1, and do these steps (absid is the id column): attach database ':memory:' as mem create table mem.messages as select * from main.messages where absid=<some_value> update mem.messages set absid=null attach database 'db2' as dst insert into dst.messages select * from mem.messages which works nicely but has too many steps. I've not found a way to reduce the step count. -- Cheers -- Tim _______________________________________________ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users