在MySQL中复制一张表并包括主键

4

我有一个古老的代码片段,用于在MySQL中复制表。

CREATE TABLE new_table (select * from old_table);

这个方法非常好,但有一个例外。它不会复制主键或其他表索引。

有没有办法在MySQL中复制一张表并包括索引/主键?

2个回答

10

有两种方法。若要查看表格的结构,您可以使用

SHOW CREATE TABLE old_table

你也可以运行这个代码(我认为你需要测试一下):

CREATE TABLE new_table LIKE old_table;
INSERT INTO new_table SELECT * FROM old_table;

1
在5.1.36上测试了CREATE TABLE new_table LIKE语法。索引被复制,但外键约束没有被复制。 - Alex Jasmin

2
你可以使用这个。
CREATE TABLE new_table LIKE old_table;

但它不提供数据复制。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接