这将以什么顺序进行评估。我的意图是,如果它找到foo或bar,它也会搜索lol和rofl。
这是不是完全在森林里?如果是这样的话,如何计算这样的表达式呢?
发布于 2010-11-24 19:47:50
The AND operator has higher precedence than OR in MySql,因此当前表达式的计算结果为:
WHERE 'foo' OR ('bar' AND 'lol') OR 'rofl'如果要强制计算顺序,请在表达式中添加括号:
WHERE ('foo' OR 'bar') AND ('lol' OR 'rofl')发布于 2010-11-24 19:46:19
将首先处理AND,然后再处理OR。因此,它将是:
'foo' OR ('bar' AND 'lol') OR 'rofl'在那之后,它是从左到右的顺序。
发布于 2010-11-24 19:46:06
看看the documentation --它的优先级更高,所以它应该是这样的:
WHERE 'foo' OR ( 'bar' AND 'lol' ) OR 'rofl'https://stackoverflow.com/questions/4266346
复制相似问题