方法一:ON DUPLICATE KEY UPDATE
语法示例:
insert into .... select * from table2......ON DUPLICATE KEY UPDATE.....
insert into comm_org (ORGCD,ORGNM,UPORGCD,UPORGNM,ORGLEVEL,CREATEID,CREATENM,CREATETIME,UPDATEID,UPDATENM,UPDATETIME,VALIDSTATUS)
select ORGCD,ORGNM,UPORGCD,UPORGNM,ORGLEVEL,CREATEID,CREATENM,CREATETIME,UPDATEID,UPDATENM,UPDATETIME,VALIDSTATUS from comm_org_batch
ON DUPLICATE KEY UPDATE ORGCD=VALUES(ORGCD),ORGNM=VALUES(ORGNM),UPORGCD=VALUES(UPORGCD),UPORGNM=VALUES(UPORGNM),
ORGLEVEL=VALUES(ORGLEVEL),CREATEID=VALUES(CREATEID),CREATENM=VALUES(CREATENM),CREATETIME=VALUES(CREATETIME),
UPDATEID=VALUES(UPDATEID),UPDATENM=VALUES(UPDATENM),UPDATETIME=VALUES(UPDATETIME),VALIDSTATUS=VALUES(VALIDSTATUS)
insert into .... values......ON DUPLICATE KEY UPDATE.....
INSERT INTO TABLE (a,c) VALUES (1,3),(1,7) ON DUPLICATE KEY UPDATE c=VALUES(c);
方法二:REPLACE
REPLACE INTO users (id,name,age) VALUES(123, '赵本山', 50), (134,'Mary',15);
replace into user01 (ORGCD,ORGNM,UPORGCD,UPORGNM,ORGLEVEL,CREATEID,CREATENM,CREATETIME,UPDATEID,UPDATENM,UPDATETIME,VALIDSTATUS)
select ORGCD,ORGNM,UPORGCD,UPORGNM,ORGLEVEL,CREATEID,CREATENM,CREATETIME,UPDATEID,UPDATENM,UPDATETIME,VALIDSTATUS from user02