【问题标题】:Why this error: Illegal mix of collations (utf8_general_ci,IMPLICIT) and (utf8_bin,NONE) for operation '=', ON THIS QUERY?为什么会出现此错误:在此查询中操作 '=' 的排序规则 (utf8_general_ci,IMPLICIT) 和 (utf8_bin,NONE) 的非法混合?
【发布时间】:2011-11-30 03:01:46
【问题描述】:
查询:
select *,
(@page_path = concat(
@page_path,
chk_v_application_tree.alias
)) as path
from chk_v_application_tree
[Err] 1267 - 非法混合排序规则 (utf8_general_ci,IMPLICIT) 和 (utf8_bin,NONE) 用于操作 '='
【问题讨论】:
标签:
mysql
sql
collation
concat
mysql-error-1267
【解决方案1】:
试试:
select *,
(@page_path = concat(
CONVERT(@page_path USING utf8) COLLATE utf8_bin,
chk_v_application_tree.alias
)) as path
from chk_v_application_tree
因为您不能在 CONCAT(utf8_general_ci, utf8_bin) 等 CONCAT 函数中混合字符集编码。