MySQL replace into (insert into 的加強版)

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

相關文章
相關標籤/搜索