mysql插入重復(fù)數(shù)據(jù)的處理(DUPLICATE、IGNORE、REPLACE)
mysql插入重復(fù)數(shù)據(jù)的三種處理方式
1、插入或者更新 DUPLICATE
“INSERT ... ON DUPLICATE KEY UPDATE ”,
它是在插入操作時(shí),如果數(shù)據(jù)出現(xiàn)重復(fù),則更新重復(fù)數(shù)據(jù)的值。
示例:
INSERT INTO myf_deal_data ( `ID`, `PTNAME`, `PTDATA`, `OPERTIME`, `REPORTTIME` ) VALUES ( 111, '858_Ua', '219.1000', '2022-04-01 00:45:00', '2022-06-28 10:04:52' ) ON DUPLICATE KEY UPDATE PTDATA = '219.9000',REPORTTIME = NOW()
示例解釋:
這條語句意味著,如果myf_deal_data表,存在id為111的數(shù)據(jù),那么就將更新PTDATA 和REPORTTIME 的值
需要權(quán)限:insert、update
影響行數(shù):2行
注意:多線程并發(fā)會(huì)導(dǎo)致死鎖的可能。
2、插入或者丟棄 IGNORE
“ INSERT IGNORE INTO .. VALUES ”的用法
是在插入操作時(shí),如果數(shù)據(jù)出現(xiàn)重復(fù),則忽略這個(gè)操作,不會(huì)報(bào)錯(cuò),但也不會(huì)插入重復(fù)的數(shù)據(jù)。
示例:
INSERT IGNORE INTO myf_deal_data ( `ID`, `PTNAME`, `PTDATA`, `OPERTIME`, `REPORTTIME` ) VALUES ? ? ( 111, '858_Ua', '219.1000', '2022-04-01 00:45:00', '2022-06-28 10:04:52' )?
示例解釋:
向myf_deal_data 表插入數(shù)據(jù),如果myf_deal_data 表的主鍵字段( ID 字段)已經(jīng)存在 111這個(gè)值,那么這條語句就會(huì)被忽略,不會(huì)插入數(shù)據(jù),也不會(huì)報(bào)錯(cuò)。
需要權(quán)限:insert
影響行數(shù):0行
3、插入或者替換 REPLACE
“ REPLACE INTO ... VALUES ”的用法
是在插入操作時(shí),如果不存在插入數(shù)據(jù),如果數(shù)據(jù)出現(xiàn)重復(fù),則更新數(shù)據(jù)(與DUPLICATE不同,需要的是insert、delete權(quán)限,是先刪除后新增)。
示例:
REPLACE INTO ?myf_deal_data ( `ID`, `PTNAME`, `PTDATA`, `OPERTIME`, `REPORTTIME` ) VALUES ? ? ( 58261907, '858_Ua', '219.1000', '2022-04-01 00:45:00', '2022-06-28 10:04:52' )?
示例解釋:
向myf_deal_data 表插入數(shù)據(jù),如果myf_deal_data 表的主鍵字段( ID 字段)已經(jīng)存在 111這個(gè)值,那么這條語句就會(huì)被忽略,不會(huì)插入數(shù)據(jù),也不會(huì)報(bào)錯(cuò)。
需要權(quán)限:insert、delete
影響行數(shù):2行 (先刪除,再新增)
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
解決Win7 x64安裝解壓版mysql 5.7.18 winx64出現(xiàn)服務(wù)無法啟動(dòng)問題
這篇文章主要介紹了解決Win7 x64安裝解壓版mysql 5.7.18 winx64出現(xiàn)服務(wù)無法啟動(dòng)問題,需要的朋友可以參考下2017-05-05Linux下MySQL安裝配置 MySQL配置參數(shù)詳解
Linux下MySQL安裝配置 MySQL配置參數(shù)詳解,在linux下配置mysql的朋友可以參考下。2011-07-07在MySQL concat里面使用多個(gè)單引號(hào),三引號(hào)的問題
今天小編就為大家分享一篇在MySQL concat里面使用多個(gè)單引號(hào),三引號(hào)的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-03-03MySQL Index Condition Pushdown(ICP)性能優(yōu)化方法實(shí)例
這篇文章主要介紹了MySQL Index Condition Pushdown(ICP)性能優(yōu)化方法實(shí)例,本文講解了概念介紹、原理、實(shí)踐案例、案例分析、ICP的使用限制等內(nèi)容,需要的朋友可以參考下2015-05-05MySQL快速插入大量數(shù)據(jù)的解決方案和代碼示例
在這篇博客中,我們將深入探討如何高效插入大量數(shù)據(jù)到MySQL數(shù)據(jù)庫,無論你是數(shù)據(jù)庫新手還是經(jīng)驗(yàn)豐富的開發(fā)者,這篇文章都將為你提供實(shí)用的解決方案和代碼示例,幫助你解決插入3萬條數(shù)據(jù)需要20多秒的問題,需要的朋友可以參考下2024-08-08在Windows系統(tǒng)上使用壓縮歸檔文件安裝MySQL的步驟
這篇文章主要介紹了在Windows系統(tǒng)上使用壓縮歸檔文件安裝MySQL的步驟,非常不錯(cuò),具有一定的參考借鑒加載,需要的朋友可以參考下2018-06-06MySQL Community Server壓縮包安裝配置方法
這篇文章主要為大家詳細(xì)介紹了MySQL Community Server壓縮包安裝配置方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-11-11MySQL函數(shù)講解(MySQL函數(shù)大全)
MySQL函數(shù)大全和函數(shù)講解,管理MYSQL數(shù)據(jù)一定會(huì)用到2013-11-11