我有一个mysql表的问题,我想克隆并给出另一个名字。当我尝试
时CREATE TABLE data1 AS SELECT * FROM data;
它在执行中陷入困境,从未真正做过任何事情,我不得不中止。
问题是我的表“data”在sql源中有一些额外的命令,比如
在数据(关键字)上创建INDEX关键字;
它有一些这些,我怀疑这是导致问题的原因,因为我能够在没有这些额外命令的情况下克隆其他表。我是sql的新手,所以我不知道如何克服这个问题。有人在乎帮忙吗?
答案 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);