我想将数据从Table2中的B列复制到Table1中的A列。列A的行为空,表1中存在已填充数据的其他列。因此,我需要从Table2中获取整个列B,并将所有这些值插入Table1中的A列。除了A列根本没有值之外,这两个表是完全相同的。
我如何在sqlite3中执行此操作?
答案 0 :(得分:4)
使用:
INSERT INTO TABLE1
SELECT B,
NULL,
NULL,
NULL
FROM TABLE2
假设TABLE1列允许NULL值,则使用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;
答案 2 :(得分:0)
试试这个: 插入表1(A)从表2中选择B