使用LIKE针对单个值检查多个MySQL列

时间:2016-09-27 07:54:35

标签: php mysql sql

SELECT * FROM tableName WHERE 'value%' IN/LIKE (col1, col2, col3, col4)

我想在多个列中找到具有类似条件值的单个值。该值为'值%'必须在col1或col2中找到或者......就像这样。

我有10个要查找的大型查询,因此需要针对此进行优化查询。

提前谢谢你。

2 个答案:

答案 0 :(得分:2)

你可以这样做:

SELECT *
FROM   tableName
WHERE  
col1 LIKE 'value%' OR
col2 LIKE 'value%' OR ..

希望这有帮助。

答案 1 :(得分:0)

要么为每个搜索创建一个带有union的漂亮长查询(MySQL并不擅长优化或条件),要么需要在所有相关列上创建fulltext index并执行{{3} }。

联合查询将如下所示:

true

全文索引的布尔搜索如下所示:

Hikari