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