0

我刚刚发现MySQL 的一个奇怪行为,关于 equal operator

在我的表格示例中,我有一行 id = 914。当我运行以下请求时:

select * from example where id='914z';

MySQL 返回 id = 914 的行。

为什么??? 我的意思是......“914”不是“914z”! 我相信这完全不正常。如果你不这样做,请告诉我为什么,我很乐意讨论。

4

1 回答 1

1

它完全按照应有的方式工作,并且记录了该行为。文档有很好的例子:

以下示例说明了将字符串转换为数字以进行比较操作:

mysql> SELECT 1 > '6x'; -> 0
mysql> SELECT 7 > '6x'; -> 1
mysql> SELECT 0 > 'x6'; -> 0
mysql> SELECT 0 = 'x6'; -> 1
于 2013-05-24T11:41:31.783 回答