概述
INSERT INTO SELECT 语句从一个表中复制数据,然后把数据插入到一个已存在的表(目标表)中,目标表中任何已存在的行都不会受影响。
详述
前提
- 目标表
table2
必须存在,MySQL不会自动创建; - 语句1中涉及的
field1
,field2
必须存在; - 若
table2
有主键且不具备自动增长,则 field1, field2…中必须包括主键。
一、部分复制
1、语法
insert into `table2` (field1,field2,…) select value1,value2,… from `table1` where condition;
2、示例
二、全复制
1、语法
insert into `table2` select * from `table1`;