RENAME TABLEtbl_nameTOnew_tbl_name[,tbl_name2TOnew_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_tableTObackup_table,new_tableTOold_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_tableTOtmp_table,new_tableTOold_table,tmp_tableTOnew_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_nameTOother_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.
