关于MySQL主键不区分大小写,或则其他查询不区分大小写 Duplicate entry 'AOVbrXXF' for key 'PRIMARY'

今天在测试中发现主键重复问题,查询了下SQL,发现MySQL不区分大小写,在查询和插入中。

 

可以看到时没有区分大小写查询的。

MySQL默认是对大小不区分
如果你需要MySQL区分大小写需要设置数据库表的排序规则,或则设置单个字段的排序规则:

utf8_bin将字符串中的每一个字符用二进制数据存储,区分大小写。
utf8_genera_ci不区分大小写,ci为case insensitive的缩写,即大小写不敏感。
utf8_general_cs区分大小写,cs为case sensitive的缩写,即大小写敏感。
 

在使用过程中,用到的是utf8_genera_ci没有区分大小写


导致这个ID在插入的时候出现了报错

所以将utf8_general_ci排序规则改为utf8_bin区分大小写就可以

 

猜你喜欢

转载自www.cnblogs.com/zhaixingzhu/p/12731696.html