我已通过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
等等,如果您需要更多明确的信息,请显示查询和表定义。