我有一个名为user
的表格,如下所示:
id || email
---------------------------------
1 || someone@foo.bar
---------------------------------
2 || 1manwithblueshirt@bar.foo
---------------------------------
为什么:
1manwithblueshirt@bar.foo
此搜索的结果?
SELECT * FROM user WHERE email = 1
答案 0 :(得分:5)
因为MySQL决定将电子邮件转换为整数。规则是将前导字符转换为数字,直到字符不是有效数字。
这是一个简单的例子:
select (case when '1abc' = 1 then 'a' else 'b' end)