• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Mysql 字符集不一致导致连表异常的解决

    做一个简单的如下的连表查询,居然直接提示错误,居然是字符集不一致的问题,本文记录一下mysql的字符集类型,以及下面这个问题的解决方案

    select a.id, b.id from tt as a, t2 as b where a.xx = b.xx
    
    -- Illegal mix of collations (utf8mb4_unicode_ci,IMPLICIT) and (utf8mb4_general_ci,IMPLICIT) for operation '='
    
    

    1. 解决方法

    先来看上面这个问题的解决方法,最容易想到的就是统一两张表的字符集,要么都是utf8mb4_general_ci,要么就都是utf8mb4_unicode_ci,统一一下这个问题就自然解决了
    如果我不想修改表的字符集呢?毕竟生产环境下,做这种操作还是有风险的,下面是一种不太优雅的解决方法

    在字段后面指定字符集(可以全部都指定为utf8mb4_general_ci 当然也可以全部指定为 utf8mb4_unicode_ci, 根据实际需要进行处理即可)

    select a.id, b.id from tt as a, t2 as b where a.xx = b.xx collate utf8mb4_general_ci
    

    2. mysql字符集

    字符集

    对于国内的小伙伴,一般而言我们常见的字符集有下面三种

    而mysql实际支持的就比较多了,可以通过show charset;进行查询

    校验规则

    在实际的case中,经常会看到下面几种

    当然我们也可以通过 show collation;查看所支持的校验规则

    请注意上面的写法

    到此这篇关于Mysql 字符集不一致导致连表异常的解决的文章就介绍到这了,更多相关Mysql 字符集连表异常内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    您可能感兴趣的文章:
    • MySql表、字段、库的字符集修改及查看方法
    • mysql字符集和校对规则(Mysql校对集)
    • mysql修改数据库编码(数据库字符集)和表的字符编码的方法
    • 深入Mysql字符集设置分析
    • 修改mysql默认字符集的两种方法详细解析
    • Mysql5 字符集编码问题解决
    上一篇:五分钟带你搞懂MySQL索引下推
    下一篇:MySQL 数据库定时备份的几种方式(全面)
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Mysql 字符集不一致导致连表异常的解决 Mysql,字符集,不一致,导致,