MySQL选择喜欢
作者:互联网
我的表格中有一个字段,用于记录某些内容上的标签,并用空格隔开,此刻我正在使用:
SELECT * FROM content WHERE tags LIKE '%$selectedtag%'"
但是,如果选择的标签是大象,它将选择以bigelephant和Elephantblah等标签的内容.
如何准确选择我想要的东西?
解决方法:
SELECT * FROM content WHERE tags RLIKE '[[:<:]]elephant[[:>:]]'
如果您的表是MyISAM,则可以使用以下命令:
SELECT * FROM content WHERE MATCH(tags) AGAINST ('+elephant' IN BOOLEAN MODE)
,可以通过在其上创建FULLTEXT索引来大大改进:
CREATE FULLTEXT INDEX ix_content_tags ON content (tags)
,但即使没有索引也可以使用.
为此,您应该将@@ ft_min_wold_len调整为索引少于4个字符的标签(如果有的话).
标签:sql-like,sql,mysql 来源: https://codeday.me/bug/20191106/2001437.html