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

SQL Duplicate entry for key ‘PRIMARY‘主鍵重復(fù)報錯解決

 更新時間:2024年11月05日 10:37:59   作者:素人依偎  
解決SQL主鍵重復(fù)報錯的幾種方法包括使用INSERT IGNORE、REPLACE INTO、ON DUPLICATE KEY UPDATE等,本文就來介紹一下問題解決,感興趣的可以了解一下

錯誤原因

報錯信息“Duplicate entry '1234' for key 'USER_INFO.PRIMARY'”,嘗試插入一條數(shù)據(jù)時,主鍵值ID=1234,已經(jīng)存在于表USER_INFO中。因為鍵(Primary Key)是表中的唯一標(biāo)識符,每個記錄必須有一個唯一的主鍵值,所以報錯

例:

ID(主鍵)USER_NAMEADDRESS
1234小紅武漢
5678小白長沙

執(zhí)行如下插入sql后預(yù)期報錯

 INSERT INTO USER_INFO (ID, USER_NAME, ADDRESS)  VALUES (1234, '小紅', '武漢');

解決方案

1. INSERT IGNORE:忽略重復(fù)的插入操作,插入無效

機(jī)制:遇到主鍵沖突不進(jìn)行任何操作

示例預(yù)期

INSERT IGNORE USER_INFO (ID, USER_NAME, ADDRESS)  VALUES (1234, '小紅', '武漢');

ID(主鍵)USER_NAMEADDRESS
1234小紅武漢
5678小白長沙

2.REPLACE INTO:可以在主鍵沖突時替換現(xiàn)有記錄

機(jī)制:先嘗試插入數(shù)據(jù),如果發(fā)現(xiàn)主鍵沖突(或唯一索引沖突),則刪除沖突的現(xiàn)有行,然后插入新行

示例預(yù)期

REPLACE INTO  USER_INFO (ID, USER_NAME, ADDRESS)  VALUES (1234, '小綠', '北京');

ID(主鍵)USER_NAMEADDRESS
1234小綠北京
5678小白長沙

3. ON DUPLICATE KEY UPDATE:可以在主鍵沖突時更新現(xiàn)有記錄

機(jī)制:先嘗試插入數(shù)據(jù),如果發(fā)現(xiàn)主鍵沖突(或唯一索引沖突),則執(zhí)行update 操作,而不是刪除和重新插入(設(shè)想場景:批量導(dǎo)入數(shù)據(jù),如果表格中已存在主鍵相同信息,則以表格中信息為準(zhǔn),然后更新表格中的一個標(biāo)識等)

INSERT INTO USER_INFO (ID, USER_NAME, ADDRESS)  VALUES (1234, '小紅', '武漢') 

ON DUPLICATE KEY UPDATE USER_NAME = '小綠' 

示例預(yù)期

ID(主鍵)USER_NAMEADDRESS
1234小綠武漢
5678小白長沙

4.避免重復(fù)插入、調(diào)整表結(jié)構(gòu)

到此這篇關(guān)于SQL Duplicate entry for key ‘PRIMARY‘主鍵重復(fù)報錯解決的文章就介紹到這了,更多相關(guān)SQL 主鍵重復(fù)報錯內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • MySQL中的SELECT FOR UPDATE的用法

    MySQL中的SELECT FOR UPDATE的用法

    MySQL的SELECT FOR UPDATE用于事務(wù)中鎖定行,防止并發(fā)修改,確保數(shù)據(jù)一致性,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-06-06
  • 刪除Table表中的重復(fù)行的方法

    刪除Table表中的重復(fù)行的方法

    在寫SQL的時候經(jīng)常會有這樣的需求: 在一個Table中會有多條重復(fù)的數(shù)據(jù),如何有效的取出來不重復(fù)的數(shù)據(jù),或者是刪除掉重復(fù)的數(shù)據(jù),或者取出某列重復(fù)值的第一條數(shù)據(jù).
    2010-06-06
  • SQL中查找某幾個字段完全一樣的數(shù)據(jù)

    SQL中查找某幾個字段完全一樣的數(shù)據(jù)

    本文分享SQL語句實(shí)現(xiàn)表中字段的組合累加排序的實(shí)例代碼,希望能給大家做一個參考。
    2016-06-06
  • 關(guān)于SQL Server加密與解密的問題

    關(guān)于SQL Server加密與解密的問題

    這篇文章主要介紹了SQL Server加密與解密的相關(guān)知識,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-01-01
  • 強(qiáng)制SQL Server執(zhí)行計劃使用并行提升在復(fù)雜查詢語句下的性能

    強(qiáng)制SQL Server執(zhí)行計劃使用并行提升在復(fù)雜查詢語句下的性能

    最近在給一個客戶做調(diào)優(yōu)的時候發(fā)現(xiàn)一個很有意思的現(xiàn)象,對于一個復(fù)雜查詢(涉及12個表)建立必要的索引后,語句使用的IO急劇下降,但執(zhí)行時間不降反升,由原來的8秒升到20秒。
    2014-07-07
  • SQL?Server只取年月日和獲取月初月末簡單舉例

    SQL?Server只取年月日和獲取月初月末簡單舉例

    這篇文章主要給大家介紹了關(guān)于SQL?Server只取年月日和獲取月初月末的相關(guān)資料,在SQL?Server中截取日期中的年月可以通過內(nèi)置函數(shù)來實(shí)現(xiàn),文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-01-01
  • SQL Server數(shù)據(jù)庫游標(biāo)的基本操作指南

    SQL Server數(shù)據(jù)庫游標(biāo)的基本操作指南

    這篇文章主要給大家介紹了關(guān)于SQL Server數(shù)據(jù)庫游標(biāo)的基本操作指南,SQL Server游標(biāo)是一種用于遍歷查詢結(jié)果集的數(shù)據(jù)庫對象,它可以逐行處理查詢結(jié)果,并執(zhí)行相關(guān)的操作,需要的朋友可以參考下
    2023-11-11
  • SQL Server 數(shù)據(jù)庫分離與附加 就這么簡單!

    SQL Server 數(shù)據(jù)庫分離與附加 就這么簡單!

    這篇文章主要介紹了SQL Server 數(shù)據(jù)庫分離與附加,很簡單的圖文教程,感興趣的小伙伴們可以參考一下
    2016-08-08
  • Sql2000與Sql2005共存安裝的解決方法

    Sql2000與Sql2005共存安裝的解決方法

    首先說明的是兩個版本的數(shù)據(jù)庫安裝次序沒有先后之分,主要后一安裝版本一定要另外創(chuàng)建實(shí)例,就可以并存。
    2011-03-03
  • SQL查詢中按多個字段排序的方法

    SQL查詢中按多個字段排序的方法

    本文主要介紹了SQL查詢中按多個字段排序的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07

最新評論

弥渡县| 丹棱县| 林芝县| 池州市| 临邑县| 南华县| 凉山| 海兴县| 阿荣旗| 科技| 股票| 横山县| 八宿县| 弥渡县| 兖州市| 巴东县| 吕梁市| 剑河县| 琼中| 仪陇县| 建湖县| 鹤岗市| 台中县| 长寿区| 婺源县| 石楼县| 株洲县| 柳林县| 宣恩县| 霍城县| 南阳市| 皋兰县| 文山县| 鲁山县| 平原县| 景东| 红安县| 吉木乃县| 广南县| 池州市| 红桥区|