复制表而不复制数据

时间:2009-12-02 17:23:47

标签: mysql

CREATE TABLE foo SELECT * FROM bar

复制表foo并将其复制为名为bar的新表。

如何将foo的架构复制到名为bar 的新表格中,而不用复制数据?

4 个答案:

答案 0 :(得分:348)

尝试

CREATE TABLE foo LIKE bar;

所以键和索引都被复制了。

Documentation

答案 1 :(得分:105)

尝试:

CREATE TABLE foo SELECT * FROM bar LIMIT 0

或者:

CREATE TABLE foo SELECT * FROM bar WHERE 1=0

答案 2 :(得分:20)

SHOW CREATE TABLE bar;

您将获得该表的create语句,编辑表名或您喜欢的任何其他内容,然后执行它。

这将允许您复制索引并手动调整表创建。

您也可以在程序中运行查询。

答案 3 :(得分:1)

只想克隆表的结构:

CREATE TABLE foo SELECT * FROM bar WHERE 1 = 2;

还想复制数据:

CREATE TABLE foo as SELECT * FROM bar;