MySQL_Illegal mix of collations

序言

两个表进行关联查询的时候,突然报错,第一次遇到,遂记录一下。

错误如下:

MySQL_Illegal mix of collations (utf8mb4_unicode_ci,IMPLICIT) and (utf8mb4_general_ci,IMPLICIT) for operation '='

分析

MySQL的collation是字符序的意思。字符类型,有多个字符序。

mysql的字符序遵从命名惯例。以_ci(表示大小写不敏感),以_cs(表示大小写敏感),以_bin(表示用编码值进行比较)。

报错原因:两个不同的表使用了不同的collation。

解决办法:

SET collation_connection = 'utf8mb4_general_ci';
ALTER DATABASE your_bd CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE your_table CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章