网站地图    收藏   

主页 > 后端 > mysql数据库 >

MySQL默认校验规则不区分大小写 - mysql数据库栏目

来源:自学PHP网    时间:2015-04-16 10:51 作者: 阅读:

[导读] MySQL默认校验规则不区分大小写 背景:系统中通过判断name是否存在决定是插入还是更新,由于是关键属性,name上加了唯一性约束。然而在一次数据同步时,总是报唯一性约束,保存失败...

MySQL默认校验规则不区分大小写
 
      背景:

系统中通过判断name是否存在决定是插入还是更新,由于是关键属性,name上加了唯一性约束。然而在一次数据同步时,总是报唯一性约束,保存失败。
 
      检查:

经核实,是该name由aaa变成了aAa,由于大小写不同,系统认为是一个新对象,做了save操作,但是数据库唯一性校验时认为已经存在,保存失败。
在MySQL中,对于Column Collate其约定的命名方法如下:
 
*_bin: binary case sensitive collation,也就是说是区分大小写的 
*_cs: case sensitive collation,区分大小写 
*_ci: case insensitive collation,不区分大小写
 
      解决:

修改数据库的默认校验规则为utf8_bin 
 

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论