最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2021年02月01日 09:59:07   作者:xcbeyond  
這篇文章主要介紹了Mysql避免重復插入數(shù)據(jù)的4種方式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

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

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

01 insert ignore into

即插入數(shù)據(jù)時,如果數(shù)據(jù)存在,則忽略此次插入,前提條件是插入的數(shù)據(jù)字段設(shè)置了主鍵或唯一索引,測試SQL語句如下,當插入本條數(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語句如下,當插入本條記錄時,MySQL數(shù)據(jù)庫會首先檢索已有數(shù)據(jù)(idx_username索引),如果存在,則執(zhí)行update更新操作,如果不存在,則直接插入:

03 replace into

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

04 insert if not exists

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

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

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

相關(guān)文章

  • centos7.4系統(tǒng)中yum源安裝mysql 5.6

    centos7.4系統(tǒng)中yum源安裝mysql 5.6

    本文給大家介紹的是如何在centos7.4系統(tǒng)中通過yum源安裝MySQL 5.6數(shù)據(jù)庫,CentOS7默認數(shù)據(jù)庫是mariadb, 但是 好多用的都是mysql ,但是CentOS7的yum源中默認好像是沒有mysql的,今天我們就來看看具體如何操作
    2018-09-09
  • MySQL下的RAND()優(yōu)化案例分析

    MySQL下的RAND()優(yōu)化案例分析

    這篇文章主要介紹了MySQL下的RAND()優(yōu)化案例,包括對JOIN查詢和子查詢的優(yōu)化,需要的朋友可以參考下
    2015-05-05
  • SQL中"1=1"的陷阱:為什么應(yīng)避免使用

    SQL中"1=1"的陷阱:為什么應(yīng)避免使用

    "1=1"在SQL中可能看似無害,但它卻是一個隱藏的陷阱,這個簡單的表達式可能會導致你的查詢結(jié)果出現(xiàn)偏差,甚至可能引發(fā)安全問題,本指南將揭示這個陷阱,教你如何避免使用"1=1",讓你的數(shù)據(jù)庫操作更加安全、準確,讓我們一起揭開"1=1"的秘密,提升你的SQL技能!
    2024-02-02
  • MySQL復合查詢和表的內(nèi)外連接示例詳解

    MySQL復合查詢和表的內(nèi)外連接示例詳解

    在數(shù)據(jù)庫管理和數(shù)據(jù)分析中,單表查詢往往無法滿足復雜的數(shù)據(jù)查詢需求,因此多表查詢和子查詢成為了解決問題的關(guān)鍵技術(shù),MySQL支持多種多表查詢方式,如內(nèi)連接、外連接(左外連接和右外連接)以及自連接,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-10-10
  • mysql 8.0.12 安裝配置方法圖文教程

    mysql 8.0.12 安裝配置方法圖文教程

    這篇文章主要為大家詳細介紹了mysql 8.0.12 安裝配置方法圖文教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • MySQL占用CPU過高排查過程及可能優(yōu)化方案

    MySQL占用CPU過高排查過程及可能優(yōu)化方案

    這篇文章主要介紹了MySQL占用CPU過高排查過程及可能優(yōu)化方案,具有很好的參考價值,希望對大家的學習或工作有所幫助,感興趣的朋友可以參考下
    2024-01-01
  • MySQL主從搭建(多主一從)的實現(xiàn)思路與步驟

    MySQL主從搭建(多主一從)的實現(xiàn)思路與步驟

    通過MySQL主從配置,可以實現(xiàn)讀寫分離減輕數(shù)據(jù)庫壓力,最近正好遇到這個功能,所以這篇文章主要給大家介紹了關(guān)于MySQL主從搭建(多主一從)的實現(xiàn)思路與步驟,需要的朋友可以參考下
    2021-05-05
  • 在Linux系統(tǒng)安裝MySql步驟截圖詳解

    在Linux系統(tǒng)安裝MySql步驟截圖詳解

    本文給大家介紹的是linux系統(tǒng)下使用官方編譯好的二進制文件進行安裝MySql的安裝過程和安裝截屏,這種安裝方式速度快,安裝步驟簡單。需要的朋友可以參考下在Linux系統(tǒng)安裝MySql步驟截圖詳解
    2016-10-10
  • mysql 8.0.18 mgr 搭建及其切換功能

    mysql 8.0.18 mgr 搭建及其切換功能

    這篇文章主要介紹了mysql 8.0.18 mysql搭建及其切換功能,本文通過實例代碼給大家講解的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-12-12
  • MySQL-8.0.26配置圖文教程

    MySQL-8.0.26配置圖文教程

    最近公司項目更換數(shù)據(jù)庫版本,在此記錄分享一下自己安裝配置MySQL8.0版本的過程吧,本文通過圖文并茂的形式給大家介紹的非常詳細,對MySQL-8.0.26配置教程感興趣的朋友跟隨小編一起看看吧
    2021-12-12

最新評論

遂昌县| 焦作市| 铁岭县| 阿克苏市| 梓潼县| 天镇县| 丘北县| 西青区| 侯马市| 汉阴县| 凌云县| 陆河县| 石城县| 承德县| 定结县| 布拖县| 阳山县| 德惠市| 延吉市| 宜兴市| 陵川县| 榆林市| 临武县| 涟水县| 新平| 黑水县| 丹阳市| 巴塘县| 霞浦县| 江都市| 黔江区| 桃园县| 都昌县| 新龙县| 永吉县| 奉新县| 都兰县| 固阳县| 建德市| 文山县| 临潭县|