mysql - 如何找出消息是否包含MYSQL中列中的关键字
问题描述
我是 MySQL 新手。我有一个包含两列 id 和关键字的表 block_keywords。我想知道一条消息是否包含块关键字。我尝试使用 LIKE 但在这种情况下 LIKE 不起作用。然后我试试 FIND_IN_SET
前任。
SELECT * FROM block_keywords WHERE FIND_IN_SET(keywords,'testing...keyword*231*717#')>0;
表中存在关键字*231*717#。但它什么也没返回。
我想知道有什么办法可以做到这一点吗?
请帮我解决这个问题。
解决方案
使用CONCAT
您可以搜索单词:
SELECT * FROM block_keywords WHERE 'testing keyword 231' LIKE CONCAT('%', keywords, '%');
其中“关键字”是列名,关键字本身是空格分隔的粘合字符串。
推荐阅读
- rust - Rust 疯狂指针 ref
- python - Ultra96 或 Pynq-Z2 套件?
- android - 试图在 android 中创建 spinner.OnItemSelectedListener 事件
- sed - sed 替换或删除字符串
- laravel - 如何自定义重置密码链接
- javascript - WordPress 编辑器在复制和粘贴时如何保留文本格式?
- angular - 处理多个 Observable 和函数
- unity3d - 我的点击事件,鼠标点击事件无法识别正确的游戏对象
- node.js - 带有 Lambda 的 Dialogflow - Webhook 调用失败。错误:502 错误网关
- c++ - 我对模板和链接器有一些疑问