Heim >Datenbank >MySQL-Tutorial >关于MYSQL查询时WHERE条件值为数字的问题_MySQL
本来我需要查询
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 |