当前位置:   article > 正文

Illegal mix of collations (utf8mb4_general_ci,IMPLICIT) and (utf8mb4_unicode_ci,IMPLICIT) for operat

illegal mix of collations (utf8mb4_general_ci,implicit) and (utf8mb4_unicode

C#项目中,执行mysql的多表联查的时候报错:

Illegal mix of collations (utf8mb4_general_ci,IMPLICIT) and (utf8mb4_unicode_ci,IMPLICIT) for operation =error code 1627

这种是由于数据库里面几张表的编码格式不一致,修改方式:

1、先查出该数据库里面,每张表的编码格式:

  1. SELECT
  2. *, 编码格式
  3. FROM
  4. (
  5. SELECT
  6. TABLE_NAME '表名',
  7. TABLE_COLLATION '编码格式'
  8. FROM
  9. information_schema.`TABLES`
  10. WHERE
  11. TABLE_SCHEMA = 'roll' -- roll替换成数据库名称
  12. ) AS tab
  13. GROUP BY
  14. 编码格式

上面这个结果表明,该数据库里面存在的编码格式现在有两种

2、将不同的表的编码格式统一

  1. SELECT
  2. *
  3. FROM
  4. (
  5. SELECT
  6. TABLE_NAME '表名',
  7. TABLE_COLLATION '编码格式'
  8. FROM
  9. information_schema.`TABLES`
  10. WHERE
  11. TABLE_SCHEMA = 'roll' --roll替换成数据库名
  12. ) AS tab

查出所有的表的编码格式,确定你要更改的目标编码格式,修改语句格式:

ALTER TABLE 表名 COLLATE=utf8mb4_general_ci --这里的utf8mb4_general_ci 可以替换成你需要的编码格式

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/548271
推荐阅读
相关标签
  

闽ICP备14008679号