我甚至不知道如何正確地問這個問題,但這裏是問題所在。 我有一個名爲'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