写了一个查询语句结果踩坑了,这个and和or分不清楚谁的优先级高
在页面上看到了已经被删除的数据,我就知道糟了。话不读说直接看代码
<select id="listByUsPage" resultType="com.wuling.product.domain.TaskInfo"> select * from ( select * from project_task_info pti <where> pti.valid_status = 1 and ( pti.collaborator_code = #{userCode} or pti.assign_code = #{userCode}) </where> ) tab ${ew.customSqlSegment} </select>
这里是优化之后的,之前没有在 or 的两个变量周边放上括号自然就没有办法区别开。
如果没有在or的变量旁边加上括号,那它这里的意思就是查询生效状态等于1并且协作人编码=XXX或者指派人为XXX了
标签:code,userCode,pti,XXX,关于,mysql,select From: https://www.cnblogs.com/shishenapr/p/17291787.html