MySQL 避免重複插入記錄方法 (IGNORE ,Replace,ON DUPLICATE KEY UPDATE)

MySQL唯一鍵 unique key,用來保證對應的字段中的數據唯一的。

主鍵也可以用保證字段數據唯一性,但是一張表只有一個主鍵。

唯一鍵特點:

1、唯一鍵在一張表中可以有多個。

2、唯一鍵允許字段數據爲NULL,NULL可以有多個(NULL不參與比較)

有時候會遇到主鍵和唯一鍵的衝突,這時候需要下面幾種方法

假如現在數據中已有一條數據,然後我們再對它進行做插入操作

1.INSERT IGNORE INTO 

當插入數據時,如出現錯誤時,如重複數據,將不返回錯誤,只以警告形式返回。所以使用ignore請確保語句本身沒有問題,否則也會被忽略掉

返回行數爲0

 

2.ON DUPLICATE KEY UPDATE

當primary或者unique重複時,則執行update語句,如update後爲無用語句,如id=id,則同1功能相同,但錯誤不會被忽略掉

返回行數0

3.REPLACE INTO

如果存在primary or unique相同的記錄,則先刪除掉。再插入新記錄

返回行數2

 再看數據 時間被修改了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章