Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当WHERE条件不为true时,MySql Select查询返回记录_Mysql_Select_Conditional Statements - Fatal编程技术网

当WHERE条件不为true时,MySql Select查询返回记录

当WHERE条件不为true时,MySql Select查询返回记录,mysql,select,conditional-statements,Mysql,Select,Conditional Statements,MySQL查询返回一条记录,即使条件不满足 SELECT * FROM `orders` WHERE order_id = '10000R' 没有与此处给定的WHERE条件匹配的记录。 但是MySQl返回一个order_id=10000的记录 看起来好像WHERE条件忽略了引号中的alpha。 如果查询中有任何错误,或者这是MySql错误,请帮助我。order\u id可能是某种类型的整数字段。MySQL将字符串“1000R”转换为整数1000。这就是为什么你会得到结果。这不是一个bug。我假

MySQL查询返回一条记录,即使条件不满足

SELECT * FROM `orders` WHERE order_id = '10000R'
没有与此处给定的WHERE条件匹配的记录。 但是MySQl返回一个order_id=10000的记录

看起来好像WHERE条件忽略了引号中的alpha。
如果查询中有任何错误,或者这是MySql错误,请帮助我。order\u id可能是某种类型的整数字段。MySQL将字符串“1000R”转换为整数1000。这就是为什么你会得到结果。这不是一个bug。

我假设
order\u id
是一个
int
,MySql隐式地强制转换varchar
'10000R'
以匹配列的数据类型,该列会剥离尾部的
'r'


请参阅MySql文档中的“”。

确保您的订单id字段不是整数或其他数字字段。如果是,它可能会忽略后面的alpha


MySql表数据类型为VARCHAR。
请更改您的数据类型。

。。。这是你能得到的三个最快的答案