0

我有一张这样的桌子

身份证、头衔
1、你好世界
2、世界你好

我喜欢搜索与这个 php 表达式匹配的所有 id:

$searchstring = "hello world is yours"
if (strstr($searchstring,mysql(title)){echo found}

在mysql中我经常使用这个:

select id from table where title LIKE '%....%'

但我需要它的另一面:

select id from table where "hello word is yours" LIKE %title%

结果必须是 id 1 "hello word"

谁能告诉我正确的语法?

4

3 回答 3

2
select id from table
where 'hello word is yours' LIKE concat('%', replace(title, ' ', '%'), '%')
于 2013-01-08T15:39:28.057 回答
1

作为替代方案,您可以考虑使用全文搜索。如果您创建一个 FTS 索引,它可能会更有效,并且会提供直观的搜索字符串:

SELECT id FROM tablename WHERE MATCH (title)
      AGAINST ('hello world is yours' IN BOOLEAN MODE);
于 2013-01-08T15:46:08.240 回答
1

利用CONCAT

select id 
from tableName
where 'hello word is yours' LIKE CONCAT('%',title,'%')
于 2013-01-08T15:39:46.837 回答