#mysql ON DUPLICATE KEY UPDATE 若是在INSERT语句末尾指定了ON DUPLICATE KEY UPDATE,而且插入行后会致使在一个UNIQUE索引或PRIMARY KEY中出现重复值,则在出现重复值的行执行UPDATE;若是不会致使惟一值列重复的问题,则插入新行。 例: INSERT INTO caller_platform_force (`caller_user_id`,`platform`,`in_use`) VALUES (5400714,2,1) ON DUPLICATE KEY UPDATE platform=2,in_use=1 INSERT INTO caller_platform_force SET caller_user_id=5400714,platform=2,in_use=1 ON DUPLICATE KEY UPDATE platform=2,in_use=1 #mysql REPLACE INTO replace into 跟 insert 功能相似,不一样点在于:replace into 首先尝试插入数据到表中, 1. 若是发现表中已经有此行数据(根据主键或者惟一索引判断)则先删除此行数据,而后插入新的数据。 2. 不然,直接插入新数据。 例: REPLACE INTO caller_platform_force (`caller_user_id`,`platform`,`in_use`) VALUES (5400714,2,1) REPLACE INTO caller_platform_force SET caller_user_id=5400714,platform=2,in_use=1