需要从其他数据源导入到数据源的情况很多,比如说excel,
也就是在不同数据源插入数据。
一般的插入都比较简单
但也会遇到一些问题
一:处理数据源与目标数据有重复的情况
方法1:一条一条的判断数据是否有重复,如果重复就更新,否者添加
这种方式效率比较低,需要一条一条判断
方法2:找到数据相同的把目标表更新为数据源的,在把数据源相同的删除掉,在插入
方法3:找到数据相同的删除掉目标表中相同的,在用数据源全部导入,也就是以数据源为基础
如果目标表有相同直接删除掉
如果导入一个excel要同时导入到数据库的几张表去
这种情况每个目标表都有自己的去从条件,如果按照某个表的条件删除掉其他表的数据可能不全,
全部插入在去从,又有点浪费效率,就可以只插入不重复的数据
insert into A(a,b,c,d)
select a,b,c,d
from B
where Id in (select MAX(id) from B group by b,c)