精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

MySQL數(shù)據(jù)庫:如何操作禁止重復(fù)插入數(shù)據(jù)

如意 ? 來源:今日頭條 ? 作者:Java成長催化師 ? 2020-10-08 14:15 ? 次閱讀

在MySQL進(jìn)行數(shù)據(jù)插入操作時,總是會考慮是否會插入重復(fù)數(shù)據(jù),之前的操作都是先根據(jù)主鍵或者唯一約束條件進(jìn)行查詢,有就進(jìn)行更新沒有就進(jìn)行插入。代碼反復(fù)效率低下。

新建表格

MySQL數(shù)據(jù)庫:如何操作禁止重復(fù)插入數(shù)據(jù)

添加三條數(shù)據(jù)如下:

MySQL數(shù)據(jù)庫:如何操作禁止重復(fù)插入數(shù)據(jù)

我們這邊可以根據(jù)插入方式進(jìn)行規(guī)避:

1. insert ignore

insert ignore 會自動忽略數(shù)據(jù)庫已經(jīng)存在的數(shù)據(jù)(根據(jù)主鍵或者唯一索引判斷),如果沒有數(shù)據(jù)就插入數(shù)據(jù),如果有數(shù)據(jù)就跳過插入這條數(shù)據(jù)。

插入SQL如下: insert ignore into person (id,name,age,address) values(3,‘那誰’,23,‘甘肅省’),(4,‘我的天’,25,‘浙江省’);

再次查看數(shù)據(jù)庫就會發(fā)現(xiàn)僅插入id為4的數(shù)據(jù),由于數(shù)據(jù)庫中存在id為3的數(shù)據(jù)所以被忽略。

MySQL數(shù)據(jù)庫:如何操作禁止重復(fù)插入數(shù)據(jù)

2. replace into

replace into 首先嘗試插入數(shù)據(jù)到表中, 1. 如果發(fā)現(xiàn)表中已經(jīng)有此行數(shù)據(jù)(根據(jù)主鍵或者唯一索引判斷)則先刪除此行數(shù)據(jù),然后插入新的數(shù)據(jù)。 2. 否則,直接插入新數(shù)據(jù)。

插入SQL如下: replace into person (id,name,age,address) values(3,‘那誰’,23,‘甘肅省’),(4,‘我的天’,25,‘浙江省’);

首先我們將表中數(shù)據(jù)恢復(fù),然后進(jìn)行插入操作后發(fā)現(xiàn)id為3的數(shù)據(jù)發(fā)生了改變同時新增了id為4的數(shù)據(jù)。

MySQL數(shù)據(jù)庫:如何操作禁止重復(fù)插入數(shù)據(jù)

3. insert on duplicate key update

insert on duplicate key update 如果在insert into語句的末尾指定了on duplicate key update + 字段更新,則會在出現(xiàn)重復(fù)數(shù)據(jù)(根據(jù)主鍵或者唯一索引判斷)的時候按照后面字段更新的描述對該信息進(jìn)行更新操作。

插入SQL如下: insert into person (id,name,age,address) values(3,‘那誰’,23,‘甘肅省’) on duplicate key update name=‘那誰’, age=23, address=‘甘肅省’;

首先我們將表中數(shù)據(jù)恢復(fù),然后在進(jìn)行插入操作時,發(fā)現(xiàn)id為3的數(shù)據(jù)發(fā)生了改變,進(jìn)行了更新操作。

MySQL數(shù)據(jù)庫:如何操作禁止重復(fù)插入數(shù)據(jù)

我們可以根據(jù)自己的業(yè)務(wù)需求進(jìn)行方法的選擇。
責(zé)編AJX

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 數(shù)據(jù)庫
    +關(guān)注

    關(guān)注

    7

    文章

    3767

    瀏覽量

    64279
  • 源代碼
    +關(guān)注

    關(guān)注

    96

    文章

    2944

    瀏覽量

    66673
  • MySQL
    +關(guān)注

    關(guān)注

    1

    文章

    802

    瀏覽量

    26452
收藏 人收藏

    評論

    相關(guān)推薦

    python實戰(zhàn)數(shù)據(jù)庫MySQL---4操作MySQL

    變量沒有默認(rèn)值,所以,每個空都要填寫。實現(xiàn)數(shù)據(jù)庫之前,需要實現(xiàn)數(shù)據(jù)MySQL的安裝配置,這些網(wǎng)上到處是例程,大家自行參考。還有要先創(chuàng)建數(shù)據(jù)庫“test”,可以用python,也可以用
    發(fā)表于 01-09 21:21

    MySQL數(shù)據(jù)庫使用

    關(guān)于MySQL數(shù)據(jù)庫的簡單操作
    發(fā)表于 10-24 14:32

    labview插入數(shù)據(jù)MySQL數(shù)據(jù)庫

    最近在用labview寫入數(shù)據(jù)MySQL數(shù)據(jù)庫,遇到一個問題:(如圖片所示)利用insert指令插入數(shù)據(jù),為什么每次
    發(fā)表于 12-26 16:52

    Mysql數(shù)據(jù)庫的基本操作

    Mysql數(shù)據(jù)庫入門-基本操作
    發(fā)表于 06-08 17:18

    數(shù)據(jù)庫插入查詢刪除操作教程

    數(shù)據(jù)庫插入查詢刪除操作教程
    發(fā)表于 12-07 09:57 ?2次下載

    LabVIEW操作MySQL數(shù)據(jù)庫編程實例

    LabVIEW操作MySQL數(shù)據(jù)庫編程實例
    發(fā)表于 10-13 15:05 ?47次下載

    華為云數(shù)據(jù)庫-RDS for MySQL數(shù)據(jù)庫

    華為云數(shù)據(jù)庫-RDS for MySQL數(shù)據(jù)庫 華為云數(shù)據(jù)庫作為華為云的一款數(shù)據(jù)庫產(chǎn)品,它主要是以MyS
    的頭像 發(fā)表于 10-27 11:06 ?1482次閱讀

    有哪些不同的MySQL數(shù)據(jù)庫引擎?

    數(shù)據(jù)庫引擎是MySQL組件,可以處理SQL操作,例如從數(shù)據(jù)庫創(chuàng)建、讀取和更新數(shù)據(jù)MySQL中有
    的頭像 發(fā)表于 04-03 16:38 ?1111次閱讀

    MySQL數(shù)據(jù)庫管理與應(yīng)用

    討論MySQL數(shù)據(jù)庫的管理和應(yīng)用。 管理MySQL數(shù)據(jù)庫 在管理MySQL數(shù)據(jù)庫之前,我們需要了
    的頭像 發(fā)表于 08-28 17:15 ?940次閱讀

    mysql是一個什么類型的數(shù)據(jù)庫

    強(qiáng)、易于使用和管理。在本文中,我們將詳盡、詳實、細(xì)致地介紹MySQL的功能、優(yōu)勢、架構(gòu)、語法等方面。 一、MySQL的功能: 數(shù)據(jù)庫管理:MySQL具備創(chuàng)建和管理
    的頭像 發(fā)表于 11-16 14:43 ?1690次閱讀

    mysql數(shù)據(jù)庫的增刪改查sql語句

    SQL語句,以幫助讀者全面了解MySQL的基本操作。 一、增加數(shù)據(jù)MySQL數(shù)據(jù)庫中,我們可以使用INSERT語句來向表中
    的頭像 發(fā)表于 11-16 15:41 ?1160次閱讀

    數(shù)據(jù)庫mysql基本增刪改查

    MySQL是一種開源的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),常用于Web應(yīng)用程序的數(shù)據(jù)存儲和管理。通過使用MySQL,用戶可以進(jìn)行數(shù)據(jù)的增刪改查
    的頭像 發(fā)表于 11-16 16:35 ?1471次閱讀

    MySQL數(shù)據(jù)庫基礎(chǔ)知識

    的基礎(chǔ)知識,包括其架構(gòu)、數(shù)據(jù)類型、表操作、查詢語句和數(shù)據(jù)導(dǎo)入導(dǎo)出等方面。 MySQL 數(shù)據(jù)庫架構(gòu) MyS
    的頭像 發(fā)表于 11-21 11:09 ?949次閱讀

    mysql數(shù)據(jù)庫基礎(chǔ)命令

    MySQL是一個流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),經(jīng)常用于存儲、管理和操作數(shù)據(jù)。在本文中,我們將詳細(xì)介紹MySQL的基礎(chǔ)命令,并提供與每個命令相關(guān)的詳細(xì)解釋。 登錄
    的頭像 發(fā)表于 12-06 10:56 ?552次閱讀

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—未開啟binlog的Mysql數(shù)據(jù)庫數(shù)據(jù)恢復(fù)案例

    mysql數(shù)據(jù)庫數(shù)據(jù)恢復(fù)環(huán)境: 本地服務(wù)器,windows server操作系統(tǒng) ,部署有mysql單實例,
    的頭像 發(fā)表于 12-08 14:18 ?1103次閱讀
    <b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b>恢復(fù)—未開啟binlog的<b class='flag-5'>Mysql</b><b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b>恢復(fù)案例