mysql 建库 utf8 排序_关于Mysql数据库建库字符集utf8mb4下,排序规则utf8mb4_bin和utf8mb4_general_ci选择造成的查询匹配大小写问题...

场景描述:

项目采用了分库模式进行不同业务的开发,在共有的功能模块进行设计的时候采用主从库,或者各分库之中存在同样的库表结构,在使用过程中做库表同步的时候一定要保证库表所在的数据库的字符集和编码格式是保持一致的。否则完成库表同步或者迁移之后会造成查询问题:各独立库表查询数据都没有问题,但是在等值查询或者关联查询的时候会出现查询数据为空的现象;骚操作:在A库中把表建好了,copy到B库中,导致库表的排序规则不一致大小写匹配的时候出现问题。

逻辑描述:

在数据从app入库的时候存储的是大写的字符code:123XXX,然后数据库查询的时候传入的是小写的code:123xxx,这时候是能查到的。然后二次存入的时候会以二次输入的code作为入参,这样存到后台就变成小写的code:123xxx。这是数据库存在了大小写不同的数据,此时如果有存在关联查询以code为关联外键的时候会出现查询的时候存在大小写匹配失败导致查询失败。

所以:

不同的数据库建立一定要保持字符集和排序规则一致。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值