如何确定消息是否包含MYSQL中某列的关键字
我是MySQL的新手。我有一个表block_keywords,有两列id和keywords。我想知道消息是否包含block关键字。我尝试使用LIKE,但在这个场景中LIKE不起作用。然后我尝试在集合中查找 前 在表中,关键字*231*717#存在。但它什么也没有返回 我想知道有没有办法做到这一点如何确定消息是否包含MYSQL中某列的关键字,mysql,Mysql,我是MySQL的新手。我有一个表block_keywords,有两列id和keywords。我想知道消息是否包含block关键字。我尝试使用LIKE,但在这个场景中LIKE不起作用。然后我尝试在集合中查找 前 在表中,关键字*231*717#存在。但它什么也没有返回 我想知道有没有办法做到这一点 请帮我解决这个问题。使用concat等工具 SELECT * FROM block_keywords WHERE CONCAT(id,keywords) LIKE "Yourkeyword%" 使用C
请帮我解决这个问题。使用concat等工具
SELECT * FROM block_keywords WHERE CONCAT(id,keywords) LIKE "Yourkeyword%"
使用
CONCAT
可以搜索单词:
SELECT * FROM block_keywords WHERE 'testing keyword 231' LIKE CONCAT('%', keywords, '%');
其中“keywords”是列名,关键字本身是一个空格分隔的胶合字符串。如果我在java中通过循环实现相同的结果(意味着迭代整个关键字列表并与消息进行比较)。您能建议哪种方法更快吗?数据库肯定比用Java迭代所有结果快。当然。
SELECT * FROM block_keywords WHERE 'testing keyword 231' LIKE CONCAT('%', keywords, '%');