如何使用索引克隆SQL表

时间:2017-03-10 12:13:50

标签: mysql

我有一个mysql表的问题,我想克隆并给出另一个名字。当我尝试

  

CREATE TABLE data1 AS SELECT * FROM data;

它在执行中陷入困境,从未真正做过任何事情,我不得不中止。

问题是我的表“data”在sql源中有一些额外的命令,比如

  

在数据(关键字)上创建INDEX关键字;

它有一些这些,我怀疑这是导致问题的原因,因为我能够在没有这些额外命令的情况下克隆其他表。我是sql的新手,所以我不知道如何克服这个问题。有人在乎帮忙吗?

2 个答案:

答案 0 :(得分:0)

使用create table like语法。创建一个具有相同结构的表,然后您可以复制数据。

https://dev.mysql.com/doc/refman/5.7/en/create-table-like.html

第二个解决方案是使用mysqldump提取包含数据的表结构,重命名转储文件中的表并重新导入它。

答案 1 :(得分:0)

- 复制带约束的表

CREATE TABLE new_table_name LIKE old_table_name;

- 无限制地复制

CREATE TABLE new_table_name
(SELECT * FROM old_table_name WHERE 0);

source