将三列从一个数据库表复制到另一个

问题描述:

我正在用SQLite3数据库更新iPhone应用程序。用户目前在手机上有一个数据库,如果行的ID匹配,我需要用新数据更新三个列(存储在单独的数据库中)。将三列从一个数据库表复制到另一个

我已经能够附加两个表并复制整个表,但不仅仅是三列。

database1 
table1 
id, col1, col2, col3, col4 

database2 
table1 
id, col1, col2, col3, col4 

我想复制COL1,COL2,从数据库1 & COL3(不COL4),表1至DATABASE2,表1如果ID匹配。

+0

你怎么样打开连接到两个单独的数据库?我真的不知道一个查询是否可以从一个SQLIte3数据库复制数据并插入到另一个数据库中。你在使用某种工具吗? – 2012-01-18 06:18:34

+0

由于做这件事似乎是不可能的(至少很容易),我只是将表分成“用户数据”和“应用程序数据”。无论如何,从长远来看,这将会更容易,而且应该从第一天开始。 – Stuart 2012-01-18 14:41:46

+0

我问你关于打开单独连接的问题,因为我的做法与你所要求的一样,但是使用了一个名为SQLiteManager的外部工具。 – 2012-01-19 04:52:07

你可以使用查询内容大致如下:

//Select the database, table and table values 
SELECT INTO 'db2.table2' (field1, field2, field3) 
VALUES 
//Insert data into second database using nested SQL 
(SELECT * FROM 'db1.table1' (field1, field2, field3) WHERE field1 = 1) 

希望这有助于(和你的作品):)

+0

它也可以通过将SELECT INTO替换为INSERT INTO来工作 – 2012-01-18 03:03:49