我刚刚发现了MySQL的一个奇怪的行为,关于等运算符。
在我的表示例中,我有一行id = 914。 当我运行以下请求时:
select * from example where id='914z';
MySQL返回id = 914的行。
为什么??? 我的意思是......'914'不是'914z'! 我认为这完全不正常。 如果你不这样做,请告诉我原因,我很乐意讨论。
答案 0 :(得分:1)
它完全按照预期工作,并记录行为。 Documentation有很好的例子:
以下示例说明了将字符串转换为数字 用于比较操作:
mysql> SELECT 1 > '6x'; -> 0 mysql> SELECT 7 > '6x'; -> 1 mysql> SELECT 0 > 'x6'; -> 0 mysql> SELECT 0 = 'x6'; -> 1