-3

我需要复制三个表并在同一个 MySQL 数据库中重命名它们。有谁知道我可以执行的语句,还是我需要导出和导入?

4

2 回答 2

0

答案在 StackOverflow 上,隐藏在数据库重命名操作下(可以通过创建新数据库来重命名数据库,然后“移动”表)。

https://stackoverflow.com/a/2298602/584490 RENAME TABLE db.table TO db.table;

来自评论:“我刚刚使用了具有 30 多个表的 InnoDB 数据库,使用 file_per_table 设置,即使有些表是 3+ 百万行,它在 < 1 秒内完成。它似乎只是移动了文件在存储上,而不是做任何更复杂的事情......如果可能的话+2 :)”。

于 2012-06-02T18:15:30.683 回答
0

您应该查看 SELECT INTO 的 mysql 等效项:http: //dev.mysql.com/doc/refman/5.0/en/ansi-diff-select-into-table.html

使用新名称创建新表,然后使用上述方法将旧表数据复制到新表中。

于 2012-06-02T18:19:01.777 回答