序言
两个表进行关联查询的时候,突然报错,第一次遇到,遂记录一下。
错误如下:
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 条评论) “” |