MySQL - 在一个非常简单的查询中没有返回任何行

时间:2013-11-02 17:56:25

标签: mysql

我遇到数据输入问题,我真的不知道从哪里开始。我使用的是MySQL 5.6.14,我有一个包含所有世界知名IP地址的表,包括ipstart,ipEnd ip Country initial,ipCountry。我有大约81,000个条目,当我通过My​​SQL工作台进行一个非常简单的查询时: -

SELECT * FROM ipToCountry WHERE ipCountry = "Finalnd" 
没有回来。我尝试了澳大利亚和斯洛文尼亚,但仍然没有。当我简化查询时

Select * 

一切都回来了,我之前尝试查询过的国家确实都列出了各行。我右键单击其中一个ipCountry值并在编辑器中选择了打开值,并注意到光标位于下一行。我删除了全部,然后重新输入了名称,然后选择了“应用”#39; 我运行了查询

SELECT * FROM ipToCountry WHERE ipCountry = "Slovenia" 

嘿,前辈的单线回来了..

我的问题是如何编写查询以从所有81,000个条目中删除此回车?

供参考 - 数据已通过csv加载,我检查了csv文件,并且没有额外的回车或额外的行...请帮助(81,000次)

显然我无法在编辑器中发布值的屏幕截图,但条目看起来像这样 斯洛文尼亚 | (pip表示闪烁的光标)

2 个答案:

答案 0 :(得分:1)

要从字符串中删除多余的空格,可以使用trim()函数。

  UPDATE ipToCountry SET ipCountry = trim(ipCountry);

答案 1 :(得分:0)

更新所有行,用空字符串替换换行符:

UPDATE IpToCountry SET IpCountry = REPLACE(IpCountry, "
", "");