Mysql查询,其中一个datavalue匹配2列表

时间:2015-11-30 19:51:07

标签: mysql sql

我使用传统的字符串然后数组格式转义所有输入。所以:

'WHERE VALUE1 LIKE ? AND VALUE2 LIKE ?', ['%abba%', 'Rob%']

我需要在语句中输入“OR”,以便在两列中搜索第一个DataValue ....

'WHERE (VALUE1 LIKE ? OR VALUE2 LIKE ?) AND VALUE3 LIKE ?', ['%abba%', '%abba%', 'Rob%']

然而dataValuesArray是['%abba%','Rob%'], 在不修改dataValues数组的情况下,有没有一种方法可以搜索2个列,其中一个值如下所示: (这不是真正的代码)

'WHERE (VALUE1 OR VALUE2 LIKE ?) AND VALUE3 LIKE ?', ['%abba%', 'Rob%']

还有其他方法,只是想知道它是否可以在mysql中完成。

1 个答案:

答案 0 :(得分:1)

这不是最佳答案,只是在某些情况下可以提供帮助的技巧。

我们可以使用IN将参数与多个列进行比较:

WHERE ? IN (VALUE1, VALUE2)