本來我需要查詢
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 |