把一个数据表中的数据导入另一个表,触发器和存储过程的

  • 参考http://blog.csdn.net/evan_endian/article/details/8652528

比如我有三个表test1,test2,test3。数据结构都一样,只有test1表有数据,另两个表示空。此例test1表是数据来源表,test2是数据插入目的表

把一个数据表中的数据导入另一个表,触发器和存储过程的_第1张图片
图片.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; 
请注意以上两表的字段必须一致(字段类型),否则会出现数据转换错误。

你可能感兴趣的:(把一个数据表中的数据导入另一个表,触发器和存储过程的)