【发布时间】:2013-01-05 05:03:29
【问题描述】:
为什么在MySQL可以查询
SELECT name
FROM groups
WHERE name = 'WEB '
注意到所有尾随空格。我希望这不会返回任何行,因为组 WEB 存在但 WEB 不存在尾随空格。如何强制 MySQL 准确查询而不自动修剪 WHERE 子句中的尾随空格?
【问题讨论】:
-
BINARY比较是必要的。查看链接的问题。 -
不做 BINARY 不使用索引吗?扼杀性能。
-
@Justin 用户文档中有一条注释“解决方案是将二进制运算符应用于常量,然后使用索引”,如
name = BINARY 'WEB '跨度> -
@Justin 快速搜索发现尾随空格不受 UNIQUE 约束的影响。您可能必须以 utf8_bin 作为其字符集来声明该列。
标签: mysql whitespace