[英]Wrong result from query
我有这个简单的查询
SELECT *
FROM `book`
WHERE `BookID` = '7u'
LIMIT 1
我期待空结果但我看到一个结果,书ID = 7。 BookID是自动增量。 为什么查询忽略'u'字符?
因为7u
不是数字,所以显然mysql忽略了u
。
也许您正在考虑一些使用后缀来限定数字类型的高级编程语言? 在C派生语言中,7u是无符号整数,值为7。
仅仅因为两个原因:
可能只有一条记录。
你使用的是LIMIT 1.它只显示输出中的一条记录。 所以使用LIMIT 5或2。
mysql将字符串作为7u,所以当你尝试做这个东西时它会在一个字符串中转换但是mysql不是在严格模式下所以它将字符串转换为整数因为你的id是整数而它的7u的舍入变为7这就是为什么它显示为一个记录尝试没有引用7u而不是'7u'然后它给出错误
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.