前进之路 发表于 2024-8-14 08:46:13

mysql报错[1267] [HY000]: Illegal mix of collations (utf8mb4_0900_ai_ci

错误剖析

执行mysql的时候报错了,连表查询的sql语法没有写错,其实这个原因是两张表的这两个字段的字符集和排序规则不一样,不能直接举行比力,所以才报这个错
我第一张表的排序规则是utf8mb4_0900_ai_ci,而第二张表的排序次序是utf8mb4_general_ci,这两个不一样导致的
https://i-blog.csdnimg.cn/blog_migrate/04640d60ddeaa638dba9b36b4efb7852.png
https://i-blog.csdnimg.cn/blog_migrate/5d20e3cddaa7bf0bbbe7894fd9667698.png
办理方法

这里我选择把第一张表的排序方法改为和第二张表的一样的utf8mb4_general_ci,具体的话得看你的需求了
ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
https://i-blog.csdnimg.cn/blog_migrate/f742b4acfb275af298a301c7459a1b9b.png
再去执行查询语句,就没有报错了

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: mysql报错[1267] [HY000]: Illegal mix of collations (utf8mb4_0900_ai_ci