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

MySQL創(chuàng)建唯一索引時報錯Duplicate?entry?*?for?key問題

 更新時間:2022年09月27日 08:35:51   作者:三爺麋了鹿  
這篇文章主要介紹了MySQL創(chuàng)建唯一索引時報錯Duplicate?entry?*?for?key問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

創(chuàng)建唯一索引時報錯Duplicate entry * for key

場景

在MySQL表創(chuàng)建唯一索引時,出現(xiàn)報錯Duplicate entry * for key.

UNI key

使用show index from table確認table中并不存在重名的唯一索引鍵名稱。

解決

仔細看報錯信息,根據(jù)那串ID數(shù)字,發(fā)現(xiàn)是表中出現(xiàn)違反創(chuàng)建的唯一索引鍵規(guī)則的重復(fù)數(shù)據(jù),將此數(shù)據(jù)刪除后創(chuàng)建唯一索引成功。

ALTER TABLE person ADD UNIQUE `UNI_person_area`(`person_id`, `area_id`) USING BTREE COMMENT "人員重復(fù)";

MySQL唯一索引報錯信息只顯示前64位

MySQL的報錯信息有時可能和大家預(yù)期的不一樣,本文將根據(jù)實際案例演示最常見的唯一索引報錯與預(yù)期情況有差異,不了解的同學(xué)可能以為有bug。

1.數(shù)據(jù)準備

1.1創(chuàng)建一個含唯一索引的表

-- 創(chuàng)建一張test表
CREATE TABLE test (
? id INT PRIMARY KEY AUTO_INCREMENT,
? c1 VARCHAR (31),
? c2 VARCHAR (32),
? c3 VARCHAR (8),
? c4 INT,
? UNIQUE KEY uq_c1_c2_c3 (c1, c2, c3)
);

1.2插入一批數(shù)據(jù)

insert into `test` (`id`, `c1`, `c2`, `c3`, `c4`) values('1','90806443B5534D33B652929F5205E4F','5b612c194383488fad19e2889cf077f5','202204','1000000');
insert into `test` (`id`, `c1`, `c2`, `c3`, `c4`) values('2','988806443B5534D33B652929F5205E4','077f55b612c194383488fad19e2889cf','202205','2000000');
insert into `test` (`id`, `c1`, `c2`, `c3`, `c4`) values('3','988806443B5534D33B652929F5205E','5b612c194383488fad19e2889cf077f5','202204','1000000');

1.3插入一條唯一索引沖突的數(shù)據(jù)

INSERT INTO `test` (`id`, `c1`, `c2`, `c3`, `c4`) VALUES('4','90806443B5534D33B652929F5205E4F','5b612c194383488fad19e2889cf077f5','202204',200000);

報錯信息如下:

錯誤代碼:1062
Duplicate entry '90806443B5534D33B652929F5205E4F-5b612c194383488fad19e2889cf077f5' 
for key 'uq_c1_c2_c3'

報錯信息中只有c1(90806443B5534D33B652929F5205E4F)和c2(5b612c194383488fad19e2889cf077f5)的值,無c3(202204)的值,有時如果批量插入過多的行時,無法快速定位哪一行沖突,不便于快速排查問題。

2.原因探索

從報錯信息中可以發(fā)現(xiàn),c1、c2、'-'連接符總長度為64個字符,可以從源碼著手。

在源碼 errmsg-utf8 文件中,可以發(fā)現(xiàn)有如下信息:

eng "Duplicate entry '%-.64s' for key '%-.192s'"

也就是,報錯信息中內(nèi)容的有64個字符,key的名字為192個字符,至此揭開了謎底。

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • driver-class-name:?com.mysql.jdbc.Driver爆紅的問題解決

    driver-class-name:?com.mysql.jdbc.Driver爆紅的問題解決

    在springboot項目工程中想要進行數(shù)據(jù)庫配置,driver-class-name:?com.mysql.cj.jdbc.Driver始終報錯,本文就來介紹一下如何解決,感興趣的可以了解一下
    2024-07-07
  • Windows系統(tǒng)下MySQL忘記root密碼的2種解決辦法

    Windows系統(tǒng)下MySQL忘記root密碼的2種解決辦法

    這篇文章主要介紹了Windows系統(tǒng)下MySQL忘記root密碼的2種解決辦法,一種是通過啟動MySQL時跳過權(quán)限表驗證,然后重置密碼,另一種是創(chuàng)建一個包含新密碼的文本文件,并通過MySQL的--init-file選項來應(yīng)用該文件中的密碼設(shè)置,需要的朋友可以參考下
    2024-11-11
  • MySQL刪除表的三種方式(小結(jié))

    MySQL刪除表的三種方式(小結(jié))

    這篇文章主要介紹了MySQL刪除表的三種方式(小結(jié)),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧
    2020-09-09
  • MySQL5.7升級MySQL8.0的完整卸載與安裝及連接Navicat的步驟

    MySQL5.7升級MySQL8.0的完整卸載與安裝及連接Navicat的步驟

    因為一個項目交接需要需要將mysql物理備份文件還原至MySQL5.7,并且將mysql5.7升級到MySQL8.0,下面這篇文章主要給大家介紹了關(guān)于MySQL5.7升級MySQL8.0的完整卸載與安裝及連接Navicat的相關(guān)資料,需要的朋友可以參考下
    2023-03-03
  • 淺談Mysql哪些字段適合建立索引

    淺談Mysql哪些字段適合建立索引

    這篇文章主要介紹了淺談Mysql哪些字段適合建立索引,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧
    2021-02-02
  • MySql三種避免重復(fù)插入數(shù)據(jù)的方法

    MySql三種避免重復(fù)插入數(shù)據(jù)的方法

    這篇文章主要介紹了MySql三種避免重復(fù)插入數(shù)據(jù)的方法,幫助大家更好的理解和使用MySQL數(shù)據(jù)庫,感興趣的朋友可以了解下
    2020-09-09
  • Ubuntu?服務(wù)器安裝?MySQL?遠程數(shù)據(jù)庫的方法

    Ubuntu?服務(wù)器安裝?MySQL?遠程數(shù)據(jù)庫的方法

    本篇介紹如何在 Linux 服務(wù)器上安裝 MySQL 數(shù)據(jù)庫,并設(shè)置為可遠程連接,本文通過命令給大家介紹的非常詳細,對Ubuntu?安裝?MySQL遠程數(shù)據(jù)庫感興趣的朋友一起看看吧
    2022-08-08
  • mysql-5.5.28源碼安裝過程中錯誤總結(jié)

    mysql-5.5.28源碼安裝過程中錯誤總結(jié)

    介紹一下關(guān)于mysql-5.5.28源碼安裝過程中幾大錯誤總結(jié),希望此文章對各位同學(xué)有所幫助。
    2013-10-10
  • MYSQL row_number()與over()函數(shù)用法詳解

    MYSQL row_number()與over()函數(shù)用法詳解

    這篇文章主要介紹了MYSQL row_number()與over()函數(shù)用法詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • DB為何大量出現(xiàn)select @@session.tx_read_only 詳解

    DB為何大量出現(xiàn)select @@session.tx_read_only 詳解

    這篇文章主要給大家介紹了關(guān)于DB為何大量出現(xiàn)select @@session.tx_read_only 的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧。
    2018-04-04

最新評論

八宿县| 阿拉尔市| 乐东| 泸西县| 遵义市| 徐汇区| 灵宝市| 黄陵县| 南皮县| 汉沽区| 和硕县| 正定县| 望谟县| 色达县| 兴安县| 浦县| 毕节市| 南澳县| 绥化市| 南召县| 集贤县| 玛曲县| 桐柏县| 进贤县| 梁山县| 大田县| 富平县| 盖州市| 云阳县| 彰武县| 东方市| 遵化市| 广昌县| 禄丰县| 北票市| 新安县| 和静县| 古交市| 垦利县| 天柱县| 玛曲县|