如何将数据从表复制到仅具有同一列的另一个表

时间:2019-06-24 07:13:35

标签: mysql

我想将数据从第一个表复制到另一个表。两个表都有公共列。 这是表示形式

table1已经有数据。 表1:

id | employeeName | sectionCode | teamCode| day1 | day2 |
1     eric            400            315

和table2尚无数据。 表2:

id | employeeName | sectionCode | teamCode | day1_a | day_b |
我想将表1内的数据复制到表2,但只复制公共列。这样我就不需要手动在表2中输入数据。

我尝试了这个question,但有所不同。

1 个答案:

答案 0 :(得分:2)

将目标表中的“ common”列显式命名,然后仅选择那些列:

insert into table2 (id, employeeName, sectionCode, teamCode)
select id, employeeName, sectionCode, teamCode
from table1

这假定其他列定义为默认值或可为空。如果不是这样,或者如果为其他列提供值(或表达式),则可以省略对目标列的命名,以便所有列都为其提供值:

insert into table2
select id, employeeName, sectionCode, teamCode, 'foo', 'bar'
from table1