ON DUPLICATE KEY UPDATE 用法与说明

https://blog.csdn.net/qq_22771739/article/details/84668620

INSERT INTO `base_archive`( `key_no`, `ele_code`, `ele_name`)
ON DUPLICATE KEY UPDATE key_no=key_no,ele_code=ele_code ,
ele_name=VALUES(ele_name)

ON DUPLICATE KEY UPDATE 后为where条件,本例为key_no和ele_code结合作为条件,意思是传过来的值与数据库现有的key_no和ele_code进行对比,数据库有重复值则更新,没有则插入,values为要插入或更新的值 ,前提是key_no和ele_code必须是唯一索引或者是主键才能生效,如果要插入完整字段,则后面可以继续加,如field=values(field)  

原文地址:https://www.cnblogs.com/javabg/p/13948975.html