比如我有三个表
test1
,test2
,test3
。数据结构都一样,只有test1
表有数据,另两个表示空。此例test1
表是数据来源表,test2
是数据插入目的表
图片.png
1.把test1
表的数据完全插入test2
insert into test2 select * from test1;
总结语法结构是
insert into 目的表 select * from 来源表
这种语法的前提是两张表数据结构是一样的
- 如果我们插入了一次数据,再执行一次上面的语句,会报错,因为
id
冲突了
图片.png
- 所以当我们需要再次插入同样的数据时就需要以下操作
2.把test1
表中的指定字段插入test2
//后面select的字段不要加括号()
insert into test2(test1,test2,test3) select test1,test2,test3 from test1;
请注意以上两表的字段必须一致(字段类型),否则会出现数据转换错误。