插入数据的时候 报错,Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry 'xxx-xxx-xxx-xxx-xxx' for key 'AA'
1、这段信息给出的是索引重复,就去找数据是否相同,但是并不相同。
2、又由于'xxx-xxx-xxx-xxx-xxx'部分只显示60个字符,怀疑是数据被截取,变换参数值尝试,还是报错。
3、再次对批量的数据逐条debug,最后定位到出错的那条数据,发现是组合索引中的一个参数,有大小写两条数据,在插入后一条时报错。
4、对数据库中的该字段,根据业务需要,改成支持大小写的。
5、mysql的唯一索引或组合索引中某个字段,设置区分大小写。具体操作: 字段设定里面有一个【二进制(Binary)】的选项,需要区分大小写的字段勾上就可以了。
踩坑点:
1、堆栈打印的错误信息 索引重复只打印部分,不打印全部,这个导致排查耗时。
2、mysql的索引添加时,默认不区分大小写。