由于导入excel需要,不能导入重复的数据,如何想到了通过临时表的方式来实现增量更新。。主要原理就是,先把数据插入到临时表中,通过select连接语句,把重复数据查询出来,通过NOT EXISTS剔除重复数据,把临时表中与主表不同的数据导入进来。从而实现增量更新的目的。想着提高效率,就把语句放到了MySQL存储过程中来执行,可以提高运行的效率。主要SQL语句如下:
- DROP PROCEDURE IF EXISTS insertdisticepersonalproject;
- CREATE PROCEDURE insertdisticepersonalproject()
- BEGIN
- INSERT INTO xjnu_project (
- id,
- xjnu_name,
- xjnu_projectname,
- xjnu_yixk,
- xjnu_zjxy,
- ) SELECT
- xjnu_temp_project.id,
- xjnu_temp_project.xjnu_name,
- xjnu_temp_project.xjnu_projectname,
- xjnu_temp_project.xjnu_yixk,
- xjnu_temp_project.xjnu_zjxy,
- FROM
- xjnu_temp_project
- WHERE
- (
- NOT EXISTS (
- SELECT
- *
- FROM
- xjnu_project
- WHERE
- xjnu_project.xjnu_name = xjnu_temp_project.xjnu_name
- AND xjnu_project.xjnu_projectname = xjnu_temp_project.xjnu_projectname
- )
- );
- END;