佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > Mysql避免重復(fù)插入數(shù)據(jù)的4種方式

Mysql避免重復(fù)插入數(shù)據(jù)的4種方式

熱門標(biāo)簽:百度競價排名 地方門戶網(wǎng)站 呼叫中心市場需求 服務(wù)外包 Linux服務(wù)器 網(wǎng)站排名優(yōu)化 鐵路電話系統(tǒng) AI電銷

最常見的方式就是為字段設(shè)置主鍵或唯一索引,當(dāng)插入重復(fù)數(shù)據(jù)時,拋出錯誤,程序終止,但這會給后續(xù)處理帶來麻煩,因此需要對插入語句做特殊處理,盡量避開或忽略異常,下面我簡單介紹一下,感興趣的朋友可以嘗試一下:

這里為了方便演示,我新建了一個user測試表,主要有id,username,sex,address這4個字段,其中主鍵為id(自增),同時對username字段設(shè)置了唯一索引:

01 insert ignore into

即插入數(shù)據(jù)時,如果數(shù)據(jù)存在,則忽略此次插入,前提條件是插入的數(shù)據(jù)字段設(shè)置了主鍵或唯一索引,測試SQL語句如下,當(dāng)插入本條數(shù)據(jù)時,MySQL數(shù)據(jù)庫會首先檢索已有數(shù)據(jù)(也就是idx_username索引),如果存在,則忽略本次插入,如果不存在,則正常插入數(shù)據(jù):

02 on duplicate key update

即插入數(shù)據(jù)時,如果數(shù)據(jù)存在,則執(zhí)行更新操作,前提條件同上,也是插入的數(shù)據(jù)字段設(shè)置了主鍵或唯一索引,測試SQL語句如下,當(dāng)插入本條記錄時,MySQL數(shù)據(jù)庫會首先檢索已有數(shù)據(jù)(idx_username索引),如果存在,則執(zhí)行update更新操作,如果不存在,則直接插入:

03 replace into

即插入數(shù)據(jù)時,如果數(shù)據(jù)存在,則刪除再插入,前提條件同上,插入的數(shù)據(jù)字段需要設(shè)置主鍵或唯一索引,測試SQL語句如下,當(dāng)插入本條記錄時,MySQL數(shù)據(jù)庫會首先檢索已有數(shù)據(jù)(idx_username索引),如果存在,則先刪除舊數(shù)據(jù),然后再插入,如果不存在,則直接插入:

04 insert if not exists

即insert into … select … where not exist ... ,這種方式適合于插入的數(shù)據(jù)字段沒有設(shè)置主鍵或唯一索引,當(dāng)插入一條數(shù)據(jù)時,首先判斷MySQL數(shù)據(jù)庫中是否存在這條數(shù)據(jù),如果不存在,則正常插入,如果存在,則忽略:

目前,就分享這4種MySQL處理重復(fù)數(shù)據(jù)的方式吧,前3種方式適合字段設(shè)置了主鍵或唯一索引,最后一種方式則沒有此限制,只要你熟悉一下使用過程,很快就能掌握的,網(wǎng)上也有相關(guān)資料和教程,介紹的非常詳細(xì),感興趣的話,可以搜一下

到此這篇關(guān)于Mysql避免重復(fù)插入數(shù)據(jù)的4種方式的文章就介紹到這了,更多相關(guān)Mysql避免重復(fù)插入數(shù)據(jù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • 防止MySQL重復(fù)插入數(shù)據(jù)的三種方法
  • MySql三種避免重復(fù)插入數(shù)據(jù)的方法
  • MySQL使用UNIQUE實現(xiàn)數(shù)據(jù)不重復(fù)插入
  • 防止mysql重復(fù)插入記錄的方法
  • MySql避免重復(fù)插入記錄的幾種方法

標(biāo)簽:銅川 黃山 衡水 湖南 崇左 蘭州 湘潭 仙桃

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Mysql避免重復(fù)插入數(shù)據(jù)的4種方式》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    宜都市| 河源市| 渭南市| 文水县| 北安市| 鸡西市| 社会| 渝北区| 上高县| 微博| 栖霞市| 台安县| 新田县| 台湾省| 新蔡县| 阜康市| 焦作市| 农安县| 南召县| 普宁市| 饶平县| 射洪县| 凤山县| 石门县| 柘城县| 奉化市| 怀集县| 晋城| 乌兰察布市| 五峰| 中方县| 平乐县| 会同县| 余干县| 建德市| 资源县| 全椒县| 楚雄市| 同仁县| 宝山区| 九江县|