我有一个带有主键的表:

类型:INT长度:11默认值:NULL额外:auto_increment

该表包含3条记录-0、1和4

当我尝试...

SELECT the_key FROM the_table WHERE the_key='someRandomString'


...它返回1条记录(主键0)

我可以用PHP is_numeric()解决它,但为什么不返回0条记录呢?

最佳答案

看起来您正在将int列与字符串值进行比较?看起来MySQL正在将字符串转换为int,然后加上0并匹配该行。

两种选择:


不要那样做不要写不兼容类型的比较。
查看MySQL是否可以选择进入更严格的模式,在该模式下它不会自动转换不兼容的类型。

关于php - MySQL查询不符合查询条件时返回第0行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5764506/

10-12 14:19
查看更多