RENAME TABLEtbl_name
TOnew_tbl_name
[,tbl_name2
TOnew_tbl_name2
] ...
Este comando renombra una o más tablas.
La operación de renombrar se hace automáticamente, lo que
significa que ningún otro flujo puede acceder a ninguna de las
tablas mientras se ejecuta el renombrado. Por ejemplo, si tiene
una tabla existente old_table
, puede crear
otra tabla new_table
con la misma estructura
pero vacía, y luego reemplazar la tabla existente con la vacía
como sigue:
CREATE TABLEnew_table
(...); RENAME TABLEold_table
TObackup_table
,new_table
TOold_table
;
Si el comando renombra más de una tabla, las operaciones de
renombrado se realizan de izquierda a derecha. Si quiere
intercambiar dos nombres de tablas, puede hacerlo así
(asumiendo que no existe ninguna tabla llamada
tmp_table
):
RENAME TABLEold_table
TOtmp_table
,new_table
TOold_table
,tmp_table
TOnew_table
;
Mientras haya dos bases de datos en el mismo sistema de ficheros puede renombrar una tabla para moverla de una base de datos a otra:
RENAME TABLEcurrent_db.tbl_name
TOother_db.tbl_name;
Cuando ejecuta RENAME
, no puede tener ninguna
tabla bloqueada o transacciones activas. Debe tener los permisos
ALTER
y DROP
en la tabla
original, y los permisos CREATE
y
INSERT
en la nueva tabla.
Si MySQL encuentra cualquier error en un renombrado múltiple, hace un renombrado inverso para todas las tablas renombradas para devolver todo a su estado original.
Ésta es una traducción del manual de referencia de MySQL, que puede encontrarse en dev.mysql.com. El manual de referencia original de MySQL está escrito en inglés, y esta traducción no necesariamente está tan actualizada como la versión original. Para cualquier sugerencia sobre la traducción y para señalar errores de cualquier tipo, no dude en dirigirse a mysql-es@vespito.com.