我正在尝试从数据库中“复制”一个表以创建一个临时表。但是我需要不复制索引。
我正在使用此查询:
CREATE TEMPORARY TABLE temp365 LIKE contactlens;
,但结果表还包含索引。我签出了文档,但没有找到没有索引的复制结构的方法。 因为无法为索引使用静态名称,所以我想知道如何使用简单的SQL删除所有索引。
我开始尝试完全避免复制它们,但这似乎是不可能的。
答案 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相同的结果,但是没有索引。