CONTAINS
是 MySQL 中的一个全文搜索函数,它用于在全文索引的列中搜索包含指定关键词的记录。这个函数通常与 MATCH()
函数一起使用,以实现更复杂的搜索需求。
SELECT * FROM table_name WHERE MATCH(column_name) AGAINST (CONTAINS('search_keyword'));
注意:实际上,MATCH() AGAINST
是正确的语法,而 CONTAINS()
并不是 MySQL 的标准函数。可能你是将 IN NATURAL LANGUAGE MODE
或 IN BOOLEAN MODE
与 MATCH() AGAIN斯T
混淆了。在自然语言模式下,你可以直接写关键词;在布尔模式下,你可以使用特定的操作符(如 +
、-
、*
等)来增强搜索的灵活性。
假设有一个名为 articles
的表,其中有一个全文索引列 content
。
-- 创建全文索引
ALTER TABLE articles ADD FULLTEXT(content);
-- 自然语言搜索示例
SELECT * FROM articles WHERE MATCH(content) AGAINST ('MySQL教程');
-- 布尔搜索示例(查找包含“MySQL”但不包含“教程”的文章)
SELECT * FROM articles WHERE MATCH(content) AGAINST('+MySQL -教程' IN BOOLEAN MODE);
如果你遇到了具体的问题或错误,请提供更多详细信息,以便我能给出更具体的解决方案。
参考链接: MySQL 全文搜索
领取专属 10元无门槛券
手把手带您无忧上云