我有一个非常奇怪的行为,我在我的 SQL 数据库中无法理解(我使用的是 MySQL 5.5.8):
我在一个表中有一个 varchar(10) 一个名字:joe。
如果运行这样的sql:
SELECT ID FROM `names` WHERE `name` = 'joe '
我得到一个结果:乔,但这是错误的,因为在表中我没有任何“乔”(最后有一个空格。我只有“乔”(没有空格)
但是,如果我执行:
SELECT ID FROM `names` WHERE `name` LIKE 'joe '
我得到了我所期望的:什么都没有。据我所知,= 应该是“精确”匹配,而 like 更松散以便能够将它与子字符串和 % 一起使用。
我错过了什么?