關於MYSQL查詢時WHERE條件值爲數字的問題

本來我需要查詢

SELECT * FROM demo WHERE status=1;

杯具的是,我想要的結果沒有出來,找了一下問題的原因

我數據庫中status字段的類型爲enum,不是數字類型的原因?

SELECT * FROM demo WHERE status=‘1’;

這樣就可以了,我一直以爲是一樣的呢,以爲MYSQL自動會轉換類型,看來以爲是不行的...可憐

 

//終於明白爲什麼了,上面的想法是錯誤的....

原來如果字段類型爲enum的話,status=1

不加引號查詢的是索引的值,FUCK,我以前怎麼就不知道呢?哈哈

舉個例子:enum裏面放着0,1,下面就是索引所對應的字段(可能這樣叫不合適?),當讓如果加上單引號就是正常的值的匹配了

對應的字段 索引
NULL NULL
"" 0
"0" 1
"1" 2
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章