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

fae0ux8s  于 2021-06-17  发布在  Mysql
关注(0)|答案(1)|浏览(316)

我正在尝试从数据库中“复制”一个表,创建一个临时表。但是我需要索引不被复制。
我正在使用此查询:

CREATE TEMPORARY TABLE temp365 LIKE contactlens;

但是结果表也包含索引。我查看了文档,没有找到一种不带索引复制结构的方法。因为索引不能有静态名称,所以我想知道如何使用简单sql删除所有索引。
我开始试图避免复制它们,但这似乎是不可能的。

z0qdvdin

z0qdvdin1#

这只是为了给@wchiquito的评论提供一些例子。
使用CREATETABLE创建一个没有索引的表副本非常容易。。。选择命令。
如果不需要从原始表复制任何行,只需在where子句中提供一个false值或在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相同的结果。。。像,但没有索引。

相关问题