MySQL从没有索引的源表创建临时表

时间:2018-11-24 11:01:38

标签: mysql

我正在尝试从数据库中“复制”一个表以创建一个临时表。但是我需要不复制索引。

我正在使用此查询:

CREATE TEMPORARY TABLE temp365 LIKE contactlens;

,但结果表还包含索引。我签出了文档,但没有找到没有索引的复制结构的方法。 因为无法为索引使用静态名称,所以我想知道如何使用简单的SQL删除所有索引。

我开始尝试完全避免复制它们,但这似乎是不可能的。

1 个答案:

答案 0 :(得分:0)

仅为@wchiquito's comment提供一些示例。

使用CREATE TABLE ... SELECT命令创建没有索引的表副本非常容易。

如果不需要从原始表复制任何行,只需在WHERE子句中提供一个假值或在LIMIT one中指定0。一些例子:

CREATE [TEMPORARY] TABLE [IF NOT EXISTS] temp365 SELECT * FROM contactlens WHERE 0;

或有些不同的方式:

CREATE [TEMPORARY] TABLE [IF NOT EXISTS] temp365 SELECT * FROM contactlens LIMIT 0;

这样,您将获得与CREATE TABLE ... LIKE相同的结果,但是没有索引。