欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MySQL創(chuàng)建唯一索引時(shí)報(bào)錯(cuò)Duplicate?entry?*?for?key問題

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

創(chuàng)建唯一索引時(shí)報(bào)錯(cuò)Duplicate entry * for key

場景

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

UNI key

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

解決

仔細(xì)看報(bào)錯(cuò)信息,根據(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唯一索引報(bào)錯(cuò)信息只顯示前64位

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

1.數(shù)據(jù)準(zhǔn)備

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

-- 創(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);

報(bào)錯(cuò)信息如下:

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

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

2.原因探索

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

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

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

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

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

相關(guān)文章

  • MySQL中的窗口函數(shù)使用及說明

    MySQL中的窗口函數(shù)使用及說明

    這篇文章主要介紹了MySQL中的窗口函數(shù)使用及說明,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • 深入理解mysql各種鎖

    深入理解mysql各種鎖

    大家好,本篇文章主要講的是深入理解mysql各種鎖,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • MySQL的存儲函數(shù)與存儲過程相關(guān)概念與具體實(shí)例詳解

    MySQL的存儲函數(shù)與存儲過程相關(guān)概念與具體實(shí)例詳解

    MySQL存儲函數(shù)(自定義函數(shù)),函數(shù)一般用于計(jì)算和返回一個(gè)值,可以將經(jīng)常需要使用的計(jì)算或功能寫成一個(gè)函數(shù),存儲函數(shù)和存儲過程一樣,都是在數(shù)據(jù)庫中定義一些SQL語句的集合
    2023-03-03
  • 安裝MySQL phpMyAdmin cpolar實(shí)現(xiàn)遠(yuǎn)程訪問連接的操作步驟

    安裝MySQL phpMyAdmin cpolar實(shí)現(xiàn)遠(yuǎn)程訪問連接的操作步驟

    這篇文章主要給大家介紹了安裝 MySQL phpMyAdmin cpolar實(shí)現(xiàn)遠(yuǎn)程訪問連接的流程步驟,文中有詳細(xì)的圖文介紹,具有一定的參考價(jià)值,需要的朋友可以參考下
    2023-08-08
  • MySql索引詳細(xì)介紹及正確使用方法

    MySql索引詳細(xì)介紹及正確使用方法

    這篇文章主要介紹了MySql索引詳細(xì)介紹及正確使用方法的相關(guān)資料,需要的朋友可以參考下
    2017-07-07
  • MySQL中一些鮮為人知的排序方式

    MySQL中一些鮮為人知的排序方式

    這篇文章主要給大家介紹了關(guān)于MySQL中一些鮮為人知的排序方式,文中介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • MYSQL必知必會讀書筆記第三章之顯示數(shù)據(jù)庫

    MYSQL必知必會讀書筆記第三章之顯示數(shù)據(jù)庫

    MySQL是一種開放源代碼的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)(RDBMS),MySQL數(shù)據(jù)庫系統(tǒng)使用最常用的數(shù)據(jù)庫管理語言--結(jié)構(gòu)化查詢語言(SQL)進(jìn)行數(shù)據(jù)庫管理。接下來通過本文給大家介紹MYSQL必知必會讀書筆記第三章之顯示數(shù)據(jù)庫,感興趣的朋友參考下吧
    2016-05-05
  • MySQL慢查詢?nèi)罩境敿?xì)總結(jié)

    MySQL慢查詢?nèi)罩境敿?xì)總結(jié)

    mysql的慢查詢?nèi)罩臼莔ysql提供的一種日志記錄,它用來記錄在mysql中響應(yīng)時(shí)間超過閾值的語句,下面這篇文章主要給大家介紹了關(guān)于MySQL慢查詢?nèi)罩镜南嚓P(guān)資料,需要的朋友可以參考下
    2023-05-05
  • 一文解決連接MySQL報(bào)錯(cuò)is?not?allowed?to?connect?to?this?MySQL?server

    一文解決連接MySQL報(bào)錯(cuò)is?not?allowed?to?connect?to?this?MySQL?

    這篇文章主要給大家介紹了關(guān)于如何通過一文解決連接MySQL報(bào)錯(cuò)is?not?allowed?to?connect?to?this?MySQL?server的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-08-08
  • mysql函數(shù)之截取字符串的實(shí)現(xiàn)

    mysql函數(shù)之截取字符串的實(shí)現(xiàn)

    本文主要介紹了mysql函數(shù)之截取字符串的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08

最新評論