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

Nik*_*hil 17 mysql collation

我检查了数据库表,发现它是latin1_swedish_ci那么我已经改变了它utf8_general_ci,然后我改变了从整理latin1_swedish_ciutf8_general_ci所有领域.

它仍然给我同样的错误.

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

谢谢,

Hit*_*ony 30

所以答案很简单.看来你错过了MKJ ^^所说的改变,但改变你的表的实际语法看起来像这样.

alter table `dbname`.`tablename` convert to character set utf8 collate utf8_general_ci;
Run Code Online (Sandbox Code Playgroud)

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


ali*_*ara 5

COLLATE utf8_unicode_ci
Run Code Online (Sandbox Code Playgroud)

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

SELECT * FROM table COLLATE utf8_unicode_ci;
Run Code Online (Sandbox Code Playgroud)