在MySQL存储过程中,对于操作符'='出现了不允许混用的字符集(utf8_general_ci,IMPLICIT)和(utf8_unicode_ci,IMPLICIT)。

15 浏览
0 Comments

在MySQL存储过程中,对于操作符'='出现了不允许混用的字符集(utf8_general_ci,IMPLICIT)和(utf8_unicode_ci,IMPLICIT)。

我检查了数据库表格,发现它是使用latin1_swedish_ci编码的,所以我将其改为utf8_general_ci,然后我将所有字段的排序规则从latin1_swedish_ci改为utf8_general_ci

但是仍然出现相同的错误。

不合法的排序规则混用(utf8_general_ci,IMPLICIT)和(utf8_unicode_ci,IMPLICIT)导致操作'='失败。

谢谢,

0
0 Comments

在MySQL存储过程中出现了"Illegal mix of collations (utf8_general_ci,IMPLICIT) and (utf8_unicode_ci,IMPLICIT) for operation '=' in MySQL Stored Procedure"这个错误。这个错误的原因是在操作符'='中出现了不兼容的字符集。

解决这个问题的方法是将查询语句的末尾添加COLLATE utf8_unicode_ci,像这样:SELECT * FROM table COLLATE utf8_unicode_ci;。这样可以统一字符集,避免不兼容的错误发生。

这个错误的意思是在MySQL存储过程中,操作符'='的两边的字符集不一致,一个是utf8_general_ci,另一个是utf8_unicode_ci。这两种字符集是不兼容的,所以会导致错误的发生。

为了解决这个错误,我们可以在查询语句的末尾添加COLLATE utf8_unicode_ci。这个语句的作用是将查询结果的字符集统一为utf8_unicode_ci,这样就可以避免不兼容的错误发生。

示例代码如下:

SELECT * FROM table COLLATE utf8_unicode_ci;

通过将查询语句的字符集统一为utf8_unicode_ci,我们可以避免"Illegal mix of collations"这个错误的发生。这个错误通常是由于不同的字符集导致的,通过统一字符集,我们可以确保查询的正确性和稳定性。

0
0 Comments

文章标题:MySQL存储过程出现“Illegal mix of collations”错误的原因和解决方法

在MySQL中,当存储过程中出现“Illegal mix of collations”错误时,原因是由于在操作符“=”中使用了不同的字符集排序规则。

解决这个问题的方法是使用ALTER TABLE语句修改表的字符集和排序规则为统一的值。具体的语法如下所示:

ALTER TABLE `数据库名`.`表名` CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;

通过将上述代码作为单独的脚本应用,或在创建表语句的末尾添加该代码,可以将所有相关表的字符集和排序规则统一起来。这样就能够解决“Illegal mix of collations”错误。

0