1. 程式人生 > >MySQL 增量更新

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;