我已通过phpmyadmin将mysql数据从本地计算机导入到Web服务器,运行脚本时出现此错误

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


为什么是这样??我该如何解决呢?

最佳答案

问题是由于连接的排序规则与要比较的列的排序规则有关。您有三个实际选择。将比较结果转换为适当的排序规则,更改列的排序规则或更改连接的排序规则。

投放:

WHERE fooColumn = CAST('test' AS CHAR CHARACTER SET utf8) COLLATE utf8_general_ci


要更改列排序规则:

ALTER TABLE fooTable
    MODIFY follColumn VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_general_ci;


要更改连接排序规则:

SET NAMES utf8 COLLATE utf8_general_ci


等等,如果您需要更多明确的信息,请显示查询和表定义。

10-07 12:33