我有一个带有主键的表:
类型: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/