非法混合的归类(utf8_general_ci,IMPLICIT)和(utf8_unicode_ci,IMPLICIT),用于MySQL存储过程中的操作'='

时间:2012-03-22 09:08:58

标签: mysql collation

我检查了数据库表,发现它在latin1_swedish_ci,所以我已将其更改为utf8_general_ci然后我将所有的排序从latin1_swedish_ci更改为utf8_general_ci领域。

仍然在给我同样的错误。

  

操作'='的非法混合排序(utf8_general_ci,IMPLICIT)和(utf8_unicode_ci,IMPLICIT)

谢谢,

2 个答案:

答案 0 :(得分:30)

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

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

作为单个脚本应用或在create table语句的末尾,您应该能够将所有相关表格关联回同一个字符集

答案 1 :(得分:1)

COLLATE utf8_unicode_ci

添加到查询结尾,像这样;

SELECT * FROM table COLLATE utf8_unicode_ci;