MySQL 增量更新
阿新 • • 發佈:2018-12-20
由於匯入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;