选择整行并将其插入table_2

时间:2015-12-01 14:18:34

标签: python sql sqlite join insert

是否可以从table_1中选择整行(没有自动增量ID)并将其插入到与table_2(相同列)具有相同关系方案的另一个表table_1中?

我可以使用例如Python来执行此操作,但表中有太多行要为此编写代码。

所以这是一个例子: TABLE_1:

id | name | age | sex | degree 
1  | Pate | 98  | it  | doc 
2  | Ken  | 112 | male| - 

TABLE_2:

id | name | age | sex | degree

SQLite3的:

INSERT INTO table_2 (SELECT * FROM table_1 WHERE id=2);

结果: TABLE_2:

id | name | age | sex | degree
1  | Ken  | 112 | male| - 

编辑:

如果无法做到这一点,可以使用id来完成,这样table_2就像:

id | name | age | sex | degree
2  | Ken  | 112 | male| - 

1 个答案:

答案 0 :(得分:0)

INSERT statement确实有一个表单,用于插入SELECT返回的每一行。但是,SELECT不是子查询,因此您必须省略它周围的括号,并且当您没有插入所有列时,您必须指定要使用的列:

INSERT INTO table_2 (name, age, sex, degree)
SELECT name, age, sex, degree
FROM table_1
WHERE id = 2;