在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;
任何一位大师能开导吗?感谢。
答案 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没有,以下语句失败,如下所示: (举个例子)