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