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 全文搜索