原因
在写sql语句中,需要模糊一个字符串去查两个字段的值。用了AND和OR去做判断。结果出现了小失误。
问题
例如
select * from user where id = 3 and name = ‘张三’ or
sencondName = “张三三”
这是查询的时候是以or为界分开的。并不会与name作为分界。故会查询id=3 name =“张三‘ 或者 sencondName = ”张三三“ 的值
解决
添加括号
select * from user where id = 3 and ( name = ‘张三’ or
sencondName = “张三三” );
总结
编写代码的时候,多了括号和少了括号,甚至标点符号,都有引发很多很小问题又浪费很多时间去解决。所以还是得多加注意。