6
为什么select 'aaa' =0
返回1(TRUE) 如果我有像MySQL的字符串转换回0
userid | pass
user1 | pas1
一个表,如果我查询:
select from table where userid = 0 and pass =0
它给了我所有行?
为什么select 'aaa' =0
返回1(TRUE) 如果我有像MySQL的字符串转换回0
userid | pass
user1 | pas1
一个表,如果我查询:
select from table where userid = 0 and pass =0
它给了我所有行?
的MySQL看到 'AAA'= 0,认为本身:
“我可以AAA转换为整数,或者0到字符串。”
猜猜它与哪一个?
基本上发生的事情是,“AAA”被转换为整数,并且因为它不是一个有效的整数,它转换为0
0 = 0当然是真实的(或真实== 1) 。
我怀疑你的userid列也是如此,尽管不知道它的值/数据类型,但很难说。
很好解释 – 2012-03-30 18:24:13
打我吧:) – 2012-03-30 18:24:38