Cambiar el nombre de una tabla en MySQL

285

Cambiar el nombre de una tabla no funciona en MySQL

RENAME TABLE group TO member;

El mensaje de error es

#1064 - You have an error in your SQL syntax; check the manual that corresponds
        to your MySQL server version for the right syntax to use near 'group 
        RENAME TO member' at line 1

La consulta funciona bien en otras tablas para mí, pero no con la tabla group.

Anil Olakkal
fuente
3
Ambos sqls son iguales. Pruebe esta tabla de cambio de nombre 'grupo' a miembro
usuario1406062
55
Esto ilustra muy bien lo inútil que es usar mayúsculas para las palabras clave.
Martin Jambon
8
No, no lo hace. Las palabras clave mayúsculas mejoran la legibilidad y se espera que tengan un estilo estándar.
fmalina

Respuestas:

474

groupes una palabra clave (parte de GROUP BY ) en MySQL, debe rodearla con backticks para mostrar a MySQL que desea que se interprete como un nombre de tabla:

RENAME TABLE `group` TO `member`;

agregado (ver comentarios) - Esas no son comillas simples.

Joachim Isaksson
fuente
51
Y sí, necesita la marca de retroceso `y no la comilla simple 'Hice la comilla simple por hábito, y obtuve el error, pero tal vez esto le ahorrará a alguien más 10 segundos
Paul
Algunas palabras clave, como NAME, todavía están disponibles sin marcas de retroceso. Creo que esta disponibilidad es una mala práctica, que debería eliminarse un día de MySQL
ad4s
2
O no use palabras clave para tablas o columnas.
jDub9
1
NO USE PALABRAS CLAVE PARA TABLAS O COLUMNAS.
mydoglixu
128

Por favor, inténtalo

RENAME TABLE  `oldTableName` TO  `newTableName`
Vijay Verma
fuente
Vea la respuesta anterior para saber por qué debería considerar usar los backticks. @coder
LinusGeffarth
31

La consulta mysql para cambiar el nombre de la tabla es

Rename Table old_name TO new_name

En su consulta, ha utilizado agrupar cuál de las palabras clave en MySQL. Intente evitar las palabras clave mysql para el nombre al crear la tabla, el nombre del campo, etc.

phponwebsites
fuente
23
ALTER TABLE old_table_name RENAME new_table_name;

o

RENAME TABLE old_table_name TO new_table_name;
Neeraj Kumar
fuente
19

Cambiar el nombre de una tabla en MySQL:

ALTER TABLE current_name RENAME new_name;
Hasib Kamal
fuente
55
Bienvenido a SO. Lea este tutorial para obtener una respuesta de calidad. Solo mostrar código no es una buena práctica.
thewaywewere
16

Cambio de nombre de tabla

RENAME TABLE old_table_name TO new_table_name;
AA Noman
fuente
14

grupo - es una palabra reservada en MySQL, es por eso que ves ese error.

#1064 - You have an error in your SQL syntax; check the manual that corresponds
        to your MySQL server version for the right syntax to use near 'group 
        RENAME TO member' at line 1

Necesita envolver el nombre de la tabla en backticks :

RENAME TABLE `group` TO `member`;
Boris
fuente
13
ALTER TABLE `group` RENAME `member`

grupo es una palabra clave, por lo que debe encerrarse en group

umar_
fuente
9
RENAME TABLE tb1 TO tb2;

tb1: nombre de la tabla actual. tb2: el nombre al que desea que se llame su tabla.

Koech
fuente
8

Según mysql docs : "cambiar el nombre de las TEMPORARYtablas, RENAME TABLEno funciona. Usar en su ALTER TABLElugar".

Entonces este es el método más portátil:

ALTER TABLE `old_name` RENAME `new_name`;
usuario2426679
fuente
6

Prueba cualquiera de estos

RENAME TABLE `group` TO `member`;

o

ALTER TABLE `group` RENAME `member`;
Mohammed Shafeek
fuente
2

Para Mysql 5.6.18usar el siguiente comando

ALTER TABLE `old_table` RENAME TO `new_table`

Además, si hay un error que dice ".... cerca de RENAME TO ..." intente eliminar la marca `

TIENE
fuente
1

Ejecutando el comando Alter

1.Haga clic en la pestaña SQL en la parte superior.

2.En el cuadro de texto ingrese el siguiente comando: ALTER TABLE exampletable RENAME TO new_table_name;

3.Haga clic en el botón Ir.

fuente: https://my.bluehost.com/hosting/help/2158

curiosidad
fuente
1

Puedes usar

RENAME TABLE `group` TO `member`;

Use la marca de retroceso (`) en lugar de la comilla simple (').

Sodrul Amin Shaon
fuente
-1

Sin dar el nombre de la base de datos, la tabla no se puede renombrar en mi caso, seguí el siguiente comando para cambiar el nombre de la tabla.

RENAME TABLE current_db.tbl_name TO current_db.tbl_name;
Vishnuvardhan
fuente
-6

Haga clic derecho en Ver> Nueva consulta

Y escriba: EXEC sp_rename 'Table', 'NewName'

Luego haga clic en el botón Ejecutar en la esquina superior izquierda de la página.

Loai Tayem
fuente
MySQL no Transact SQL
Adam Joseph Looze