select * from user where age = 20 and type and type !=10;
上面这句sql,是粗心造成的,本来以为会报错,结果没有,还能跑,只是没有type=0的数据了
不知道为什么
然后问了下同事
终于知道原因
是没写值的话,就会默认为true,然后就是非0的意思了
也就等同于
select * from user where age = 20 and type !=0 and type !=10;
其他参阅
http://www.cnblogs.com/zhoujinyi/archive/2012/10/10/2718524.html