0

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

我与三列有关系,id其中一个是INTand PRIMARY KEY,我还有两列VARCHAR(30)称为fnameand lname

按姓名询问人员时,我无法让我的基本查询正常工作。通过 id 询问时,我可以让我的查询正常工作。

例如:

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

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

我还尝试了许多不同引号的变体,例如双引号和制表键上方的键。是的,有一条名为 Bob 的记录

谁能帮我解决我做错了什么?

4

2 回答 2

1

有一种合理的可能性是,该字段不包含没有空格(空格、制表符、回车等)的单词“Bob”,或者它可能被意外地放入了“lname”字段。尝试:

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

并检查任何结果是否有多余的空格。

于 2013-02-12T15:25:52.977 回答
1

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

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

谢谢大家!

于 2013-02-12T15:26:32.757 回答