gpt4 book ai didi

mysql - 从 SELECT 语句创建新表时如何向 MySQL 表添加索引?

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

我正在通过连接另一个名为“crawler”的数据库中两个表的数据,在名为“production”的数据库中创建一个新表。我使用以下 SQL 查询创建了这个新表(这个查询非常有效):

CREATE TABLE files_and_metas_joined
SELECT
crawler.files.id,
crawler.files.company_id,
crawler.file_metas.title,
crawler.file_metas.h1_tags
FROM
crawler.files,
crawler.file_metas
WHERE
crawler.files.id = crawler.file_metas.file_id
AND
crawler.files.processed = 1
AND
crawler.files.junk = 0

我还想向该表添加以下索引,但似乎无法弄清楚如何在同一个 SQL 查询中执行此操作。

PRIMARY KEY (`id`),
KEY `company_id` (`company_id`),
KEY `title` (`title`),
KEY `h1_tags` (`h1_tags`)

这可以在用于创建表的同一个查询中完成吗?如果没有,我如何在之后的查询中添加这些索引?

最佳答案

你可以在同一条语句中完成,它们只需要在 SELECT 之前:

CREATE TABLE files_and_metas_joined
(
PRIMARY KEY (`id`),
KEY `company_id` (`company_id`),
KEY `title` (`title`),
KEY `h1_tags` (`h1_tags`)
)
SELECT
crawler.files.id,
crawler.files.company_id,
crawler.file_metas.title,
crawler.file_metas.h1_tags
FROM
crawler.files,
crawler.file_metas
WHERE
crawler.files.id = crawler.file_metas.file_id
AND
crawler.files.processed = 1
AND
crawler.files.junk = 0

关于mysql - 从 SELECT 语句创建新表时如何向 MySQL 表添加索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8660001/

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