【TiDB 使用环境】生产环境
【TiDB 版本】V7.1.3
【操作系统】Centos7.5
【问题复现路径】一张表的唯一性索引字段顺序有问题,想调整一下字段顺序,所以准备先新建一个新的唯一性索引,然后删除老的
【遇到的问题:问题现象及影响】
-
在唯一性字段清单没有变化,只是字段顺序变化的情况下, 新建唯一性出错(原来的唯一性并未删除)
-
出错内容看不懂,详细如下:
[err=“[kv:1062]Duplicate entry ‘%-.64s’ for key ‘%-.192s’”]
以上错误信息目视和数据本身毫无关系,和索引名称也完全对不上
再补充下:尝试两次均失败,且错误信息一致,上面这个错误信息又没法定位问题,如果是数据确实存在重复,那么现在表上的唯一性就有bug, 如果数据不重复,那么新建又因为什么原因出错?
你新建一个空表,把原来的唯一索引删掉,建新的唯一性索引,然后把老数据查过来会报错吗?
测试了下,7.1.1,原有唯一索引删不删除,也不影响新增一个唯一索引
应该是哪里出了点内部错误
你的新的字段排序规则是什么?
我有遇到过类似问题
老的字段唯一索引是不是_bin这个类型的,排序规则是大小写敏感的,
utf8_general_ci这个是大小写不敏感,加唯一索引有可能引起报错。
大小写敏感问题 - #10,来自 zhaokede.
db_user
(Db User)
10
没有新字段,只是字段顺序变化了, 如果是字符集问题,那么老的唯一性肯定也会有问题。
我原来的唯一性是 F1+F2+F3 ,现在新建一个 F1+F3+F2 ,准备把原来的替换掉
system
(system)
关闭
15
此话题已在最后回复的 7 天后被自动关闭。不再允许新回复。