在使用SQL语句进行数据表插入insert操做时,若是表中定义了主键,插入具备相同主键的记录会报错:html
Error Code: 1062. Duplicate entry 'XXXXX' for key 'PRIMARY'(主键冲突)sql
这样咱们只好检查主键是否是存在,若存在则更新,若不存在则插入。或者写SQL流程控制语句(if...else...)spa
Mysql提供了replace into跟insert into的功能同样。不一样点在于:
htm
若是发现表中已经有此行数据(根据主键或者惟一索引判断)则先删除此行数据,而后插入新的数据。不然,直接插入新数据。blog
注意:由于要根据主键或者是惟一索引判断是否有重复数据,因此操做的表必需要有主键或者是惟一索引。不然的话,replace into 会直接插入数据。索引
Mysql replace into用法有三种,最简单的一种用法就是直接将 "insert" 关键字替换为"replace"就能够啦。数据
insert into t(... , ...) values(... , ...)filter
修改成co
replace into t(... , ...) values(... , ...)data
原贴 :https://www.cnblogs.com/xudong-bupt/p/3948162.html