2013-05-14 132 views
1

时Iv'e一直试图从我的表Concat的两列,执行像他们PHP的MySQL - 排序规则的非法使用混合CONCAT

下面是MySQL查询:

SELECT * FROM stops WHERE CONCAT_WS(name, ' ', desc) LIKE 
'%This%' AND CONCAT_WS(name, ' ', desc) LIKE '%is%' AND 
CONCAT_WS(name, ' ', desc) LIKE '%a%' 
AND CONCAT_WS(name, ' ', desc) LIKE '%test%' 

当我

Illegal mix of collations (utf8_bin,NONE) and 
(utf8_general_ci,COERCIBLE) for operation 'like' 

Iv'e被检查有关此主题类似的问题,看到了很多 答案告诉T:通过我的PHP代码或phpMyAdmin的我碰到下面的错误运行o更改数据库的排序规则。

我已经改变了所有的数据库,表和字段collcation到utf8_general_ci

当我运行相同的查询正好在Navicat它工作得很好。

我在这里错过了什么吗?

谢谢!

+0

它的问题是,'CONCAT_WS'没有分隔第一? – MikeB 2013-05-14 01:29:43

回答

2

设置数据库和表 - >characterutf8

ALTER DATABASE db CHARACTER SET utf8 COLLATE utf8_general_ci 

ALTER TABLE table CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci 
+0

这是问题所在。但我确定排序规则已经是utf8_general_ci。没关系,谢谢! – alon7 2013-05-14 15:16:17

相关问题