INSERT ... ON DUPLICATE KEY UPDATE/REPLACE都可以处理插入一条记录碰到主键或唯一性约束冲突的情况,不过2者的实现方式不同: 1、INSERT ... ON DUPLICATE KEY UPDATE方式遇到冲突会update一下。 2、REPLACE方式遇到冲突会把原来的记录delete,然后再insert进去。 具体见下面的测试: -- (1)表结构和数据 mysql>show create table test\G; *************************** 1. row *************************** Table: test Create Table: CREATE TABLE `test` ( `pk_col` int(11) NOT NULL AUTO_INCREMENT, `uk_col` int(11) DEFAULT NULL, `col` varchar(10) DEFAULT NULL, PRIMARY KEY (`pk_col`), UNIQUE KEY `uk_test` (`uk_col`) ) ENGINE=InnoDB DEFAULT [...]