mysql 命令重命名表RENAME TABLE 句法mysql
RENAME TABLE tbl_name TO new_tbl_name[, tbl_name2 TO
new_tbl_name2,...]
改名是以原子方式(atomically)执行,这就意味着,当改名正在运行时,其它的任何线程均不能该表。这使得以一个空表替换一个表成为可能。sql
CREATE TABLE new_table (...);
RENAME TABLE old_table TO backup_table, new_table TO old_table;
更名是从左到右执行的,这就意味着,若是你但愿交换两个表名,你不得不这样作:数据库
RENAME TABLE old_table TO backup_table,
new_table TO old_table,
backup_table TO new_table;
只要两个数据库在同一个磁盘上,你也能够从一个数据库改名到另外一个数据库:atom
RENAME TABLE current_db.tbl_name TO other_db.tbl_name;
当你执行 RENAME 时,你不能有任何锁定的表或活动的事务。你一样也必须有对原初表的 ALTER 和 DROP 权限,以及对新表的 CREATE 和 INSERT 权限。线程
若是在多表改名中,MySQL 遭遇到任何错误,它将对全部被改名的表进行倒退改名,将每件事物退回到最初状态。事务
RENAME TABLE 在 MySQL 3.23.23 中被加入。table