Insert into ~ on duplicate key update INSERT INTO tableA (sn, cateid, catename) VALUES ( 101 , 'A001' , 'CateA1' ), ( 102 , 'B001' , 'CateB1' ), ( 103 , 'C001' , 'CateC1' ), ( 104 , 'C002' , 'CateC2C' ), ON DUPLICATE KEY UPDATE catename = ( CASE WHEN catename = 'C002' THEN catename ELSE values (catename) END ); replace REPLACE INTO tableA (sn, cateid, catename) VALUES ( 101 , 'A001' , 'CateA1' ), ( 102 , 'B001' , 'CateB1' ), ( 103 , 'C001' , 'CateC1' ), ( 104 , 'C002' , 'CateC2C' ); on duplicate key update의 경우 기존 row에서 update를 하지만, replace into 는 delete + insert이기 때문에 default 필드 또는 auto_increment 필드는 신규 로우를 추가한 것과 같은 영향을 받음. giip :: Free mixed RPA orchestration tool! https://giipasp.azurewebsites.net/