mysql表使用了唯一索引,却产生了相同数据,非常疑惑,求解答

img

img


这里用了联合唯一索引,tag和source为啥还会有相同的记录呢?tag入参前进行trim,前后都没有空格了,非常疑惑

img

img

img


光标放在这里,显示tag前后已经没有空格了,source也都是3,但竟然创建出了这么多重复的记录

看看数据库里面存的值有空格没,复制出来对比一下

你这个并不是唯一索引, 只是个联合索引, ID是唯一索引, 联合索引要(tag 和source要两个字段来判断的)

我也很疑惑,你这唯一索引没啥问题啊,确定数据中没有空格啥的

你那是两个字段的组合索引。
在校验唯一性的时候是两个字段一起校验的。
比如说这两个字段是1,2和1,3是不会触发唯一性的。只有1,2和1,2会触发唯一性