MySQL重命名并覆盖现有表

时间:2016-07-19 00:36:09

标签: mysql rename alter-table

在MySQL用户手册中,它说以下命令比RENAME命令快,因为不需要表副本。

ALTER TABLE table1 RENAME TO table2;

http://dev.mysql.com/doc/refman/5.7/en/alter-table.html

但是,无论如何,我们可以快速将表重命名/覆盖到MYSQL 5.6中的现有表中吗?我尝试了以下命令,它显示错误"您的SQL synthax中有错误;"

 ALTER TABLE table1 RENAME OVERWRITE TO table2;

任何一位大师能开导吗?感谢。

1 个答案:

答案 0 :(得分:1)

不太确定你在哪里看到它。但是......

  

RENAME TABLE old_table TO new_table;

     

此声明相当于   以下ALTER TABLE语句:

     

ALTER TABLE old_table RENAME new_table;

来源:http://dev.mysql.com/doc/refman/5.7/en/rename-table.html

如果要重命名表,并且该名称已经存在,则需要先执行此操作。

DROP TABLE old_table 

由于

  

MySQL在检查之前是否检查目标表名   源表存在。例如,如果new_table已经存在并且   old_table没有,以下语句失败,如下所示:   (举个例子)