登录
首页 >  数据库 >  MySQL

MySQL全文索引:为什么match()和against()有效而contains()无效?

时间:2024-11-14 12:25:00 394浏览 收藏

在数据库实战开发的过程中,我们经常会遇到一些这样那样的问题,然后要卡好半天,等问题解决了才发现原来一些细节知识点还是没有掌握好。今天golang学习网就整理分享《MySQL全文索引:为什么match()和against()有效而contains()无效?》,聊聊,希望可以帮助到正在努力赚钱的你。

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()无效?》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>