【问题标题】:Is there a way to search all fields in a single mysql query? [duplicate]有没有办法在单个 mysql 查询中搜索所有字段? [复制]
【发布时间】:2011-07-28 18:55:57
【问题描述】:

可能的重复:
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;

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

【问题讨论】:

标签: mysql


【解决方案1】:

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

SQL Server 确实支持contains keyword:

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

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

【讨论】:

  • 那将强制进行全表扫描。 ]
猜你喜欢
  • 2011-04-17
  • 2015-03-13
  • 2011-05-19
  • 1970-01-01
  • 1970-01-01
  • 2020-06-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多