错误:Illegal mix of collations (utf8_general_ci,IMPLICIT) and (utf8_unicode_ci,IMPLICIT) for operation '=' in MySQL Stored Procedure

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (83)

我检查了数据库表,发现它在latin1_swedish_ci所以我把它改成utf8_general_ci然后我改变了校对latin1_swedish_ciutf8_general_ci所有的田地。

但还是给了我同样的错误。

Illegal mix of collations (utf8_general_ci,IMPLICIT) and (utf8_unicode_ci,IMPLICIT) for operation '='

谢谢

提问于
用户回答回答于
COLLATE utf8_unicode_ci

添加到查询的末尾,如下所示;

SELECT * FROM table COLLATE utf8_unicode_ci;
用户回答回答于

所以答案很简单。似乎错过了MKJ^^所述的更改,但是修改表的实际语法如下所示。

alter table `dbname`.`tablename` convert to character set utf8 collate utf8_general_ci;

作为单独的脚本应用,或者在CREATETABLE语句的末尾,你应该能够将所有相关表关联回同一个字符集。

扫码关注云+社区

领取腾讯云代金券