我注意到一些奇怪的事情 - 当我使用WHERE field=1
和WHERE field='1'
进行查询时,MySQL会返回两个不同的数据集。
field
定义为枚举('0','1','2')。
我如何才能获得不同的数据集?
对于第一个查询,我得到大约500条记录。第二次,我得到19(!!!)。
我无法解释。有什么想法吗?
谢谢,Boda Cydo。
答案 0 :(得分:5)
答案 1 :(得分:1)
什么数据类型是“字段”?在一个示例中,您将“字段”的值与NUMBERIC值1进行比较,而在另一个示例中,您将其与字符串“1”进行比较,即包含文本“1”的一个字符串。 两者不一定相同。 [编辑:我已经忘记了MySql ENUM,自从我积极使用MySql以来已经有一段时间了,所以对于这个具体案例,KennyTM所说的=)]
如果没有看到您正在使用的数据集,以及表定义(查看数据类型),以及您正在使用的MySql的特定版本,我无法给出更好的答案。但是,它确实可以归结为这样一个事实,即你表现的两个查询,虽然表面上相同,但实际上是不同的。