mysql插入資料時如果有相同資料就不插入或者替換

張飛x99發表於2018-04-19

方法1 : insert ignore into       此方法只適用於判斷資料庫有無相同資料 有就不進行操作,沒有就插入


我們知道如果插入資料時如果主鍵相同 或者有唯一索引之類的列資料相同 如果使用 insert into 插入會報錯。

使用 insert ignore into 如果遇到錯誤會忽略這個錯誤 ,然後返回  並沒有對資料庫進行操作,換句話說就是資料還是原來的資料

沒有錯誤就和insert into 一樣


方法2  :MYSQL插入更新  insert into table_name (a,b) values('q','b')  ON DUPLICATE KEY UPDATE  a='q'  此方法適用於插入資料庫判斷有無主鍵重複或者有唯一索引列的重複, 有就更新ON DUPLICATE KEY UPDATE後面的欄位, 沒有就插入這條資料

例子 : insert into table_name (id,a,b) values(1,'q','b')  ON DUPLICATE KEY UPDATE  a='q'  

id 為主鍵  如果存在id為1 的資料 就更新這條資料 a列為q 沒有就插入這條資料


相關文章