mysql 命令重命名表RENAME TABLE 句法
RENAME TABLE tbl_name TO new_tbl_name[, tbl_name2 TO
new_tbl_name2,...]
更名是以原子方式(atomically)執行,這就意味著,當更名正在運行時,其它的任何線程均不能該表。這使得以一個空表替換一個表成為可能。
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;
只要兩個數據庫在同一個磁盤上,你也可以從一個數據庫更名到另一個數據庫:
RENAME TABLE current_db.tbl_name TO other_db.tbl_name;
當你執行 RENAME 時,你不能有任何鎖定的表或活動的事務。你同樣也必須有對原初表的 ALTER 和 DROP 權限,以及對新表的 CREATE 和 INSERT 權限。
如果在多表更名中,MySQL 遭遇到任何錯誤,它將對所有被更名的表進行倒退更名,將每件事物退回到最初狀態。
RENAME TABLE 在 MySQL 3.23.23 中被加入。