成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

MySQL插入時唯一鍵沖突的幾種處理方式

數據庫 MySQL
當批量插入數據時,發現插入的這批數據中,有某些記錄存在唯一鍵沖突,這種情況特別是在多線程進行數據插入時,會造成異常導致處理終止或者catch異常忽略部分數據。有什么好的辦法對這些沖突的記錄進行處理呢?

MySQL插入記錄時,結果提示主鍵沖突,怎么辦?

當批量插入數據時,發現插入的這批數據中,有某些記錄存在唯一鍵沖突,這種情況特別是在多線程進行數據插入時,會造成異常導致處理終止或者catch異常忽略部分數據。有什么好的辦法對這些沖突的記錄進行處理呢?

下面提供三種處理方式

1. Ignore關鍵詞

某些場景下,我們需要批量插入的數據,某些已經在DB中了,我們希望在出現沖突時,直接跳過,把能插入的都插入就好,這種情況下,使用ignore關鍵詞就比較合適了。

一個實際的case如下:

INSERT IGNORE INTO test.licenses 
(license_id,organization_id,license_type,product_name,license_max,license_allocated,comment) VALUES
('08dbe05-606e-4dad-9d33-90ef10e334f9','442adb6e-fa58-47f3-9ca2-ed1fecdfe86c','core-prod','WildCat Application Gateway',16,16,NULL),
('38777179-7094-4200-9d61-edb101c6ea88','442adb6e-fa58-47f3-9ca2-ed1fecdfe86c','user','Spring',100,6,NULL);

執行截圖如下, 注意統計框中的內容,表示忽略了一條,執行插入成功一條

2. Replace Into方式

如果在批量插入中,我們希望用新的數據替換掉沖突的數據,這個時候就可以使用replace into了。

語法如下:

REPLACE INTO test.licenses 
(license_id,organization_id,license_type,product_name,license_max,license_allocated,comment) VALUES
('38777179-7094-4200-9d61-edb101c6ea88','442adb6e-fa58-47f3-9ca2-ed1fecdfe86c','core-prod','Spring Core',100,8,NULL);

執行截圖如下,注意紅框中,當某條記錄沖突之后并替換,其影響行數為2, 其實際過程是

  • 刪除沖突數據
  • 插入新的數據

3. ON DUPLICATE KEY UPDATE

還有一種情況,我們希望在出現沖突時,只更新某些數據,這個時候可以在insert語句的最后加上on duplicate key update了

語法如下

INSERT INTO test.licenses 
(license_id,organization_id,license_type,product_name,license_max,license_allocated,comment) VALUES
('38777179-7094-4200-9d61-edb101c6ea88','442adb6e-fa58-47f3-9ca2-ed1fecdfe86c','user','Spring',100,6,NULL)
on duplicate key update license_allocated = 12;

執行截圖如下,這個是在原記錄的基礎上執行更新指定key的value, 比如上面的插入中,當沖突時,我們只更新license_allocated字段,而其它的字段沒有更新


責任編輯:武曉燕 來源: 今日頭條
相關推薦

2022-04-07 13:56:13

前端一鍵換膚

2023-07-10 08:00:13

架構Rest返回值

2020-10-28 09:44:22

Pythonn爬蟲代碼

2017-04-17 10:05:51

Hadoop錯誤方式

2009-12-31 14:25:19

Silverlight

2023-10-08 20:31:18

React

2023-12-07 07:22:52

MySQLIGNORE

2015-02-09 15:25:52

換膚

2021-03-31 09:11:27

URLErrorHTTPError

2010-01-18 16:58:29

VB.NET Over

2025-01-27 12:19:51

2024-04-07 08:50:00

GenAIAI人工智能

2022-03-07 14:39:01

前端框架批處理

2009-07-21 15:47:35

JDBC批處理

2012-08-13 10:23:33

IBMdW

2009-08-17 17:28:23

C#轉義字符

2024-03-05 18:15:28

AsyncAwait前端

2009-06-12 08:57:56

Unix字符串處理

2009-08-19 17:30:38

C#轉義字符

2016-10-21 10:51:53

Windows快捷程序
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 黄色一级大片在线免费看产 | 成人av一区二区亚洲精 | 国产欧美一区二区三区久久手机版 | 精品国产欧美一区二区 | 日韩av免费在线电影 | 仙人掌旅馆在线观看 | 欧美精品一区在线 | 亚洲国产成人精品久久久国产成人一区 | 欧美激情综合五月色丁香小说 | 午夜影院在线观看免费 | 男女免费观看在线爽爽爽视频 | 亚洲天堂中文字幕 | 亚洲一区二区三区四区五区中文 | 一区二区三区免费在线观看 | 人干人人| a在线视频 | 日韩成人专区 | 91偷拍精品一区二区三区 | 成人精品鲁一区一区二区 | 成人做爰www免费看 午夜精品久久久久久久久久久久 | 99视频在线看 | 欧洲免费毛片 | 成人毛片一区二区三区 | 天天色天天射天天干 | 国产精品久久久久久久久大全 | 亚洲人人| 亚洲色片网站 | 成人在线精品视频 | 中文成人无字幕乱码精品 | 亚洲精品日韩在线 | 国产美女在线播放 | 91亚洲精品在线 | 91精品久久久久久久久中文字幕 | 黄色免费av | 亚洲国产一区视频 | 国产亚洲精品精品国产亚洲综合 | 一区二区在线不卡 | 2018国产大陆天天弄 | 伊人艹| hitomi一区二区三区精品 | 国内精品免费久久久久软件老师 |