有没有办法在单个mysql查询中搜索所有字段?

时间:2011-04-03 20:38:36

标签: mysql

  

可能重复:
  MYSQL query for searching through ALL the fields?
  MySQL - Search in all fields from every table from a database

我在一个表中有28个字段,我想给用户一个选项是搜索其所有字段中的每个条目。 所以不要写这样的东西:

SELECT * FROM table WHERE field1 LIKE testfield OR field2 LIKE testfield OR field3 LIKE testfield 
OR field4 LIKE testfield OR  ... etc

我想写这样的东西:

SELECT * FROM table WHERE * LIKE testfield;

这不起作用所以我想知道是否有其他语法或该功能不存在?

1 个答案:

答案 0 :(得分:0)

SQL中没有对此类查询的可移植支持。最好的办法是创建另一个字符串/ varchar列,并将其他列连接成一个字符串,然后搜索它。

SQL Server确实支持contains keyword

SELECT Name, Color FROM Production.Product
WHERE CONTAINS((Name, Color), 'Red');

但是,如果你想要便携式,你最好使用额外的列。