使用Equation" ="在VARCHAR上使用MySQL WHERE正在返回空结果

时间:2014-05-14 08:40:43

标签: mysql character where varchar equation

我有一个非常简单的MySQL表,其中包含一些列,1列包含一个名为VARCHAR的{​​{1}}数据。像这样:

user_country

当我查询时:

user_country
-----------------
United States
United States
Germany
Singapore
India
Italy

OR

SELECT * FROM `my_table` WHERE `user_country` = 'United States' LIMIT 0,10

..他们正在返回空结果。

  • 请发生什么事?
  • 如果我使用SELECT * FROM `my_table` WHERE `user_country` = 'Singapore' ,则会返回。

注意:那里没有任何空格。

1 个答案:

答案 0 :(得分:0)

好吧,似乎你在列出它们时看不到的值中有空格。所以我的猜测是,当应用程序将数据添加到表中时,它会添加一些空格并稍后创建问题。您需要检查在DB中添加数据的脚本,并确保在发送到DB之前修剪它们

快速解决方案是使用单个更新命令删除所有白色空格

update my_table set user_country = trim(user_country);

此外,将表格排序和字符类型设为utf8_general_ciutf8

总是更好

可以使用以下命令更改

ALTER TABLE my_table CHARACTER SET utf8, COLLATE utf8_general_ci;