<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          mysql唯一索引報(bào)錯(cuò)信息只顯示前64位

          共 1580字,需瀏覽 4分鐘

           ·

          2022-05-25 16:56

          點(diǎn)擊上方藍(lán)字關(guān)注我

          MySQL的報(bào)錯(cuò)信息有時(shí)可能和大家預(yù)期的不一樣,本文將根據(jù)實(shí)際案例演示最常見(jiàn)的唯一索引報(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ò)誤代碼:1062Duplicate entry '90806443B5534D33B652929F5205E4F-5b612c194383488fad19e2889cf077f5' for key 'uq_c1_c2_c3'

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

          2.? 原因探索

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

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

          eng "Duplicate entry '%-.64s' for key '%-.192s'"
          也就是,報(bào)錯(cuò)信息中內(nèi)容的有64個(gè)字符,key的名字為192個(gè)字符,至此揭開(kāi)了謎底。



          往期精彩回顧

          1.??MySQL高可用之MHA集群部署

          2.??mysql8.0新增用戶及加密規(guī)則修改的那些事

          3.? 比hive快10倍的大數(shù)據(jù)查詢利器-- presto

          4. ?監(jiān)控利器出鞘:Prometheus+Grafana監(jiān)控MySQL、Redis數(shù)據(jù)庫(kù)

          5.? PostgreSQL主從復(fù)制--物理復(fù)制

          6.??MySQL傳統(tǒng)點(diǎn)位復(fù)制在線轉(zhuǎn)為GTID模式復(fù)制

          7.??MySQL敏感數(shù)據(jù)加密及解密

          8.??MySQL數(shù)據(jù)備份及還原(一)

          9.??MySQL數(shù)據(jù)備份及還原(二)

          掃碼關(guān)注?????

          瀏覽 62
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  日日操日日干 | 黄色毛片学生妹免费看视频 | 日韩无码毛片 | 97超碰在线播放 | 无码日本精品久久久久久蜜桃 |