我刚刚发现MySQL 的一个奇怪行为,关于 equal operator。
在我的表格示例中,我有一行 id = 914。当我运行以下请求时:
select * from example where id='914z';
MySQL 返回 id = 914 的行。
为什么??? 我的意思是......“914”不是“914z”! 我相信这完全不正常。如果你不这样做,请告诉我为什么,我很乐意讨论。
我刚刚发现MySQL 的一个奇怪行为,关于 equal operator。
在我的表格示例中,我有一行 id = 914。当我运行以下请求时:
select * from example where id='914z';
MySQL 返回 id = 914 的行。
为什么??? 我的意思是......“914”不是“914z”! 我相信这完全不正常。如果你不这样做,请告诉我为什么,我很乐意讨论。
它完全按照应有的方式工作,并且记录了该行为。文档有很好的例子:
以下示例说明了将字符串转换为数字以进行比较操作:
mysql> SELECT 1 > '6x'; -> 0 mysql> SELECT 7 > '6x'; -> 1 mysql> SELECT 0 > 'x6'; -> 0 mysql> SELECT 0 = 'x6'; -> 1