MySQL 增量更新

          由于导入excel需要,不能导入重复的数据,如何想到了通过临时表的方式来实现增量更新。。主要原理就是,先把数据插入到临时表中,通过select连接语句,把重复数据查询出来,通过NOT EXISTS剔除重复数据,把临时表中与主表不同的数据导入进来。从而实现增量更新的目的。想着提高效率,就把语句放到了MySQL存储过程中来执行,可以提高运行的效率。主要SQL语句如下:

  1. DROP PROCEDURE IF EXISTS insertdisticepersonalproject;
  2.  
  3. CREATE PROCEDURE insertdisticepersonalproject()
  4. BEGIN
  5. INSERT INTO xjnu_project (
  6.     id,
  7.     xjnu_name,
  8.     xjnu_projectname,
  9.     xjnu_yixk,
  10.     xjnu_zjxy,
  11. ) SELECT
  12.     xjnu_temp_project.id,
  13.     xjnu_temp_project.xjnu_name,
  14.     xjnu_temp_project.xjnu_projectname,
  15.     xjnu_temp_project.xjnu_yixk,
  16.     xjnu_temp_project.xjnu_zjxy,
  17. FROM
  18.     xjnu_temp_project
  19. WHERE
  20.     (
  21.         NOT EXISTS (
  22.             SELECT
  23.                 *
  24.             FROM
  25.                 xjnu_project
  26.             WHERE
  27.                 xjnu_project.xjnu_name = xjnu_temp_project.xjnu_name
  28.             AND xjnu_project.xjnu_projectname = xjnu_temp_project.xjnu_projectname
  29.         )
  30.     );
  31. END;

你可能感兴趣的:(MySQL 增量更新)