在使用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