mysql匹配〜例子

Har*_*rry 5 php mysql search

下面是一个我坚持的sql示例,它不会返回一家名为"磨坊酒店"的酒店它会返回其他10家酒店.任何帮助都会非常感谢


SELECT * FROM tbl WHERE match(hotel) against('the mill hotel' IN BOOLEAN MODE) LIMIT 10";
Run Code Online (Sandbox Code Playgroud)

Rob*_*rto 8

您需要指定运算符,因为未在OR运算中指定任何结果.试试这个:

SELECT * FROM tbl WHERE match(hotel) against('+the mill hotel' IN BOOLEAN MODE) LIMIT 10";
Run Code Online (Sandbox Code Playgroud)

阅读更多


Ric*_*man 6

您始终可以使用引号来匹配短语mill hotel而不是单词mill和/或hotel

SELECT * FROM tbl WHERE match(hotel) against('"the mill hotel"' IN BOOLEAN MODE) LIMIT 10;
Run Code Online (Sandbox Code Playgroud)

或者,简单地说:

SELECT * FROM tbl WHERE match(hotel) against('"mill hotel"' IN BOOLEAN MODE) LIMIT 10;
Run Code Online (Sandbox Code Playgroud)

我相信所有

SELECT * FROM tbl WHERE match(hotel) against('+the mill hotel' IN BOOLEAN MODE) LIMIT 10;
Run Code Online (Sandbox Code Playgroud)

do 是要求单词the匹配,离开millhotel可选:如果你想要求整个短语,它需要用引号引起来:

SELECT * FROM tbl WHERE match(hotel) against('+"the mill hotel"' IN BOOLEAN MODE) LIMIT 10;
Run Code Online (Sandbox Code Playgroud)

尽管当您只有一个搜索词组时,如本例所示,加号是多余的。