我有这个简单的查询
SELECT *
FROM `book`
WHERE `BookID` = '7u'
LIMIT 1
我希望结果空洞 但我看到一个结果,书ID = 7。 BookID是自动增量。 为什么查询忽略'u'字符?
答案 0 :(得分:4)
因为7u
不是数字,所以显然mysql忽略了u
。
也许您正在考虑一些使用后缀来限定数字类型的高级编程语言?在C派生语言中,7u是无符号整数,值为7.
答案 1 :(得分:0)
仅仅是因为两个原因:
可能只有一条记录。
您使用的是LIMIT 1.显示输出中只有一条记录。所以使用LIMIT 5或2。
答案 2 :(得分:0)
mysql将字符串视为7u所以当你尝试做这个东西时它会在一个字符串中转换但是mysql不是在严格模式下所以它将字符串转换为整数因为你的id是整数并且它的7u的舍入变为7这就是为什么它显示一条记录尝试没有引用7u而不是'7u'然后它给出错误