MySQL全文索引:为什么match()和against()有效而contains()无效?
mysql全文索引:为何match() 和 against()可用,但contains()无效
在使用mysql时,可能会遇到创建全文索引成功,但使用contains()查询时出现“er_parse_error,errno:1064”错误的情况。这是因为mysql中并不存在contains()函数。
mysql的全文索引使用match()和against()函数来执行全文搜索。match()函数定义了查询条件,against()函数指定了要搜索的文本。例如:
SELECT * FROM tb WHERE MATCH(name) AGAINST('str*' IN BOOLEAN MODE);
然而,contains()函数是microsoft sql server中用于全文搜索的函数。在mysql中,使用match()和against()函数可以实现全文搜索功能。
值得注意的是,某些中文技术博客可能会误导性地声称contains()函数在mysql中可用。然而,正确的做法是使用mysql官方文档参考正确的语法,以确保在使用全文索引时不会出现问题。
以上就是MySQL全文索引:为什么match()和against()有效而contains()无效?的详细内容,更多请关注其它相关文章!