mysql主键重复则更新,不重复则插入

方法一: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 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值