2011-03-31 669 views
2

我想将表2中的列B中的Table1中的列A复制到列A中。列A的行是空的,并且表1中存在已填充数据的其他列。所以我需要从Table2中抓取整个B列,并在Table1的列A中插入所有这些值。这两个表完全相同,只是列A根本没有值。将sqlite中不同表中的列从一列复制到另一列

如何在sqlite3中执行此操作?

回答

4

用途:

INSERT INTO TABLE1 
SELECT B, 
     NULL, 
     NULL, 
     NULL 
    FROM TABLE2 

使用NULL作为占位符,你不能从TABLE2不过填充多列,假设表1的列允许空值。

0
UPDATE TABLE1 SET A = (SELECT B FROM TABLE2 WHERE ...) 

想想吧,如果表格真的是相同的,为什么你需要两个呢?在任何情况下,你也可以这样做:

BEGIN; 
DELETE FROM TABLE1; 
INSERT INTO TABLE1 (A, col1, col2, ...) SELECT (B, col2, col2, ...) FROM TABLE2; 
COMMIT; 
+1

这并没有从第一工作,要么......它插入相同的值(值Table1中的每一行中的行)。对于每一行,Table2中都有一个不同的值需要映射到Table1中的A列。那么,我该如何做到这一点? – Irina 2011-03-31 19:02:23

+0

你需要一个where子句来匹配行;见上面的修改答案 – 2011-03-31 20:20:41

0

试试这个: INSERT INTO TABLE1(A)的选择B从表2可以

相关问题