MySQL查询返回记录,即使条件不满意。
SELECT * FROM `orders` WHERE order_id = '10000R'
没有与此处给出的WHERE条件匹配的记录。 但MySQl返回order_id = 10000
的记录看起来WHERE条件忽略引号内的alpha。 如果查询中有任何错误,请帮助我,或者这是一个MySql错误
答案 0 :(得分:3)
我假设order_id
是int
,并且MySql隐式地转换varchar '10000R'
以匹配列的数据类型,这会删除尾随{{1} }}
请参阅MySql文档中的“Type Conversion in Expression Evaluation”。
答案 1 :(得分:2)
order_id可能是某种类型的整数字段。 MySQL会将字符串'1000R'转换为整数1000.这就是你得到结果的原因。这不是一个错误。
答案 2 :(得分:0)
确保您的order_id字段不是整数或其他数字字段。如果是,则可能忽略了尾随的alpha。
答案 3 :(得分:-1)
MySql表数据类型是VARCHAR。 请更改您的数据类型。