我甚至不知道如何正确地问这个问题,但这里是问题所在。 我有一个名为'name','email'和'number'的表作为我的列,其ID在AUTO_INCREMENT上设置为PRIMARY KEY。当我尝试找到这样一行:不输出匹配WHERE值的行
SELECT * FROM MyTable WHERE name='John Doe'` or `SELECT * FROM MyTable WHERE email='[email protected]
我总是得到我没有任何大惊小怪的行。 所有三列都是长度为100的VARCHAR。
'号码'列包含一串随机数,因为我从RFID卡中取出这些号码(因此将它们与名称相关联的数据库)。所以当我做
SELECT * FROM MyTable WHERE number='12334567890'
突然一切都不工作,并返回0行。
这里是它变得陌生的地方。如果我首先查询数字,我得到0行,但是,如果我先查询名称(返回一行),然后查询关联的数字IT RETURNS A ROW。如果我要查询另一个数字,我再次得到0行,如果我要查询以前的数字,我再次得到0行...
我到目前为止尝试附加另一个字符串,如'num 1234567890'
,但这没有帮助(也许这是一些格式怪癖,我不知道)。
当谈到MySQL时,我是一个初学者,但是像这样简单的事情应该是蛋糕散步,然而在这里我是。
圣米娅那工作!你能解释一下这个语法的作用吗? – IKouz
事情就是那个兄弟,当你正在使用=它试图匹配你传递的确切数字。但是当你使用LIKE时,它会找到所有具有该模式的值。 – Exprator
但如果你的行包含这样的数字'8541233456789033'那么上面的查询返回这个数字也是 – sunilwananje