在比较字符串时,无法在MySQL中获得基本查询

时间:2013-02-12 15:19:15

标签: mysql sql

我在查询中检索基本数据时遇到了困难。

我与三列有关系,idINTPRIMARY KEY我还有两列VARCHAR(30)名为fnamelname

在通过名字询问人时,我无法获得基本查询。我可以通过id询问我的查询。

例如:

select * from customers where cid = 2; -- Does work :)

select * from customers where fname = 'Bob'; -- Does not work  :(

我也尝试了很多不同引用的变体,如双引号和tab键上方的键。是的,有一个名为Bob的记录

任何人都可以帮我解决我的错误吗?

2 个答案:

答案 0 :(得分:1)

有一个合理的可能性,该字段不包含单词'Bob'而没有空格(空格,制表符,回车符等),或者它可能意外地放在'lname'字段中。尝试:

select * from customers where fname like 'Bob%' or lname like 'Bob%';

并检查任何结果是否有额外的空格。

答案 1 :(得分:1)

好的,所以我使用php脚本来创建模拟数据库。我所做的是创建一个带有一堆名称的文本文件,每个名字都在一个新行上。事实证明,隐藏的回车角色隐藏在那里......谢谢dan1111

SELECT * FROM customers WHERE fname='Bob\n';

全部谢谢!