我甚至不确定如何正确地提出这个问题,但这是问题所在。 我有一个表格,其名称为',' email'和' number'作为我的列,在AUTO_INCREMENT上将id设置为PRIMARY KEY。当我试图找到这样的行时:
SELECT * FROM MyTable WHERE name='John Doe'` or `SELECT * FROM MyTable WHERE email='whatever@gmail.com
我总是得到我正在寻找的那一行,没有任何大惊小怪。 所有三列都是VARCHAR,长度为100。
'' column包含一串随机数,因为我从RFID卡中取出这些数字(因此将数据库与名称相关联)。所以当我做的时候
SELECT * FROM MyTable WHERE number='12334567890'
突然一切都没有工作,并返回0行。
这是它变得更加陌生的地方。如果我首先查询数字,我得到0行,但是,如果我首先查询名称(返回一行),然后我查询相关的数字,IT返回行。如果我要查询另一个数字,我会再次获得0行,如果我要查询前一个数字,我会再次获得0行...
我到目前为止尝试将另一个字符串附加到'num 1234567890'
,但这没有帮助(也许这是一些格式化的怪癖,我不知道)。
对于MySQL来说,我是初学者,但是这个简单的事情应该是一个蛋糕步行,但我在这里。
答案 0 :(得分:1)
SELECT * FROM MyTable WHERE number LIKE '%12334567890%'
试试这个
答案 1 :(得分:0)
首先你理解where语句,如果你写的是col =" what"如果找到匹配项,它会将字符串与列匹配,然后只返回数据。在你的情况下,它是一个随机数,所以你不能用where子句提取数据,除非你知道确切的值。
SELECT * FROM MyTable WHERE number REGEXP '^[0-9].*$'