gpt4 book ai didi

sql - 使用 MySQL 搜索多个表

转载 作者:行者123 更新时间:2023-11-29 04:14:37 25 4
gpt4 key购买 nike

我正在编写一个 PHP/MySQL 程序,我想知道如何使用 MySQL 跨多个表进行搜索。

基本上,我在大多数网站的右上角都有一个搜索框,当用户在该框中搜索内容时,需要在 users.username、users.profile_text、uploads.title、uploads.description、sets 中搜索.description 和 comments.text。我需要获取 ID(存储在每个表的一个 id 字段中),如果可能,还需要一个类似 google 的摘录。

最佳答案

您可以编写程序来分别查询这些表中的每一个,也可以创建一个相对简单的 View ,将重要表的所有可搜索列与显示它们来自哪个表的指示器结合在一起。除了正常编写语句外,搜索多个表并没有什么神奇的方法。

第二种方法看起来像这样:

(SELECT 'Table 1' AS TableName, id as Id, text as Searchable
FROM table1)
UNION
(SELECT 'Table 2' AS TableName, table2_id as Id, name as Searchable
FROM table2)
UNION
...

然后搜索生成的 View 。重要的是要注意这种方法不会很快。

一种类似且更快的替代方法是将表而不是 View 专用于此任务,并在插入/更新/删除实际表时填充它,而不是在访问时重新计算它。

关于sql - 使用 MySQL 搜索多个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/627210/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com