我有一个查询不起作用。我已经通过使用单个IN语句解决了这个问题(我用来构建查询的库正在导致这种情况发生),但我仍然好奇为什么发生这种情况。MYSQL multiple WHERE IN导致LIKE被忽略(?)
查询如下:
SELECT * FROM (`table`)
WHERE `field` = 'false'
AND `something` LIKE '%string%'
AND `status_id` IN ('1')
OR `status_id` IN ('2')
OR `status_id` IN ('3')
查询我是有道理的:从表名where字段=假,什么是像字符串和状态ID为1或状态ID是在2选择一切或状态标识为3
当存在多个IN语句时,查询的LIKE部分被完全忽略。
任何想法为什么多重IN语句会导致LIKE被忽略?我无法理解为什么:重新排列查询没有任何影响(将LIKE移动到末尾而不是起点)