微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – mySQL LIKE查询

我正在尝试在我的数据库搜索一个字符串,但它应该能够匹配任何单词而不是整个短语.

假设,表数据的文本类似于b c d e f g.然后,如果我搜索d c b,它应该能够显示结果.

字段LIKE’%d c b%’不能以这种方式工作.

有人可以建议更强大的搜索方式,也可以显示相关性计数器.

我不介意上面使用PHP,但更喜欢在数据库级别进行搜索.

解决方法:

为获得最佳结果,您需要为数据创建FULLTEXT索引.

CREATE TABLE mytable (id INT NOT NULL, data TEXT NOT NULL, FULLTEXT KEY fx_mytable_data) ENGINE=MyISAM

SELECT  *
FROM    mytable
WHERE   MATCH(data) AGAINST ('+word1 +word2 +word3' IN BOOLEAN MODE)

请注意,要索引单字母单词(如示例所示),您需要在MysqL配置中将ft_min_word_len设置为1.

即使您没有索引(只要您的表是MyISAM),此语法也可以工作,但速度很慢.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐