在where子句mysql的utf8中完全匹配单词

时间:2015-03-23 16:47:48

标签: mysql utf-8 matching

我有这样的查询:

SELECT * FROM category_keyword  WHERE keyword = 'cho'

此查询是返回结果keyword ={ cho , chợ , chờ , chợ ...}。我只希望结果是keyword ='cho'(不是'chợ,chờ...')。我能怎么做? 表的排序规则为utf8_unicode_ci

2 个答案:

答案 0 :(得分:3)

使用utf8整理,cho确实等于chờ。如果你想比较二进制:

SELECT * FROM category_keyword WHERE keyword = CONVERT('cho' USING binary)

答案 1 :(得分:0)

将列的排序规则更改为utf8_bin。这比使用CONVERT更好,因为它允许使用索引。但是,如果你有时需要utf8_bin(完全匹配)并且有时需要utf8_unicode_ci(用于案例折叠和重音剥离),那么你在运行方面表现不佳。