首页 > 数据库 > mysql教程 > 如何在MySQL中跨表进行关键字搜索并识别源表?

如何在MySQL中跨表进行关键字搜索并识别源表?

Linda Hamilton
发布: 2024-11-23 12:32:16
原创
943 人浏览过

How to Perform a Keyword Search Across Multiple Tables in MySQL and Identify the Table of Origin?

使用关键字在 MySQL 中进行多表搜索

问题:

在数据库中三个表(消息、主题和评论),每个表包含“内容”和“标题”字段,如何我们使用关键字在所有表中执行 LIKE 搜索?我们如何区分每个结果的来源表?

解决方案:

要在 PHP 和 MySQL 中使用关键字搜索多个表,我们可以使用 UNION 查询:

$query = "(SELECT content, title, 'msg' as type FROM messages WHERE content LIKE '%" . $keyword . "%' OR title LIKE '%" . $keyword ."%') 
UNION
(SELECT content, title, 'topic' as type FROM topics WHERE content LIKE '%" . $keyword . "%' OR title LIKE '%" . $keyword ."%') 
UNION
(SELECT content, title, 'comment' as type FROM comments WHERE content LIKE '%" . $keyword . "%' OR title LIKE '%" . $keyword ."%')";

mysql_query($query);
登录后复制

此查询将每个表的结果合并为一个输出。添加到每行的“类型”字段用作其源自的表的标识符。执行此查询后,我们可以迭代结果并根据“type”值确定源表。

以上是如何在MySQL中跨表进行关键字搜索并识别源表?的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板