Renomeie uma tabela no MySQL


285

Renomear uma tabela não está funcionando no MySQL

RENAME TABLE group TO member;

A mensagem de erro é

#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

A consulta está funcionando bem em outras tabelas para mim, mas não com a tabela group.



3
Ambos os sqls são iguais. Tente esta tabela de renomeação 'group' para membro
user1406062

5
Isso ilustra bem o quão inútil é usar letras maiúsculas para palavras-chave.
Martin Jambon

8
Não, não tem. As palavras-chave com letras maiúsculas melhoram a legibilidade e são o estilo padrão esperado.
Fmalina

Respostas:


474

groupé uma palavra-chave (parte de GROUP BY ) no MySQL, você precisa cercá-la com backticks para mostrar ao MySQL que você deseja que ela seja interpretada como um nome de tabela:

RENAME TABLE `group` TO `member`;

adicionado (ver comentários) - Essas não são aspas simples.


51
E sim, você precisa do tiquetaque de volta `e não das aspas simples 'Eu fiz a aspas simples por hábito e obtive o erro, mas talvez isso economize a outra pessoa em 10 segundos
Paul

Algumas palavras-chave, como NAME, ainda estão disponíveis sem marcas de retorno. Eu acho que essa disponibilidade é uma prática ruim, que deve ser removida um dia do MySQL
ad4s 19/10/16

2
Ou não use palavras-chave para tabelas ou colunas.
JDub9 22/0918

1
NÃO USE PALAVRAS-CHAVE PARA TABELAS OU COLUNAS.
mydoglixu


31

A consulta mysql para renomear tabela é

Rename Table old_name TO new_name

Na sua consulta, você usou o grupo de qual das palavras-chave no MySQL. Tente evitar palavras-chave do mysql para nome ao criar tabela, nome do campo e assim por diante.


23
ALTER TABLE old_table_name RENAME new_table_name;

ou

RENAME TABLE old_table_name TO new_table_name;

19

Renomeie uma tabela no MySQL:

ALTER TABLE current_name RENAME new_name;

5
Bem-vindo ao SO. Leia este tutorial para fornecer respostas de qualidade. Apenas mostrar código não é uma boa prática.
thewaywewere

16

Alteração de nome da tabela

RENAME TABLE old_table_name TO new_table_name;

14

group - é uma palavra reservada no MySQL, é por isso que você vê esse erro.

#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

Você precisa agrupar o nome da tabela em backticks :

RENAME TABLE `group` TO `member`;

13
ALTER TABLE `group` RENAME `member`

group é keyword, então você deve incluir group


9
RENAME TABLE tb1 TO tb2;

tb1 - nome da tabela atual. tb2 - o nome que você deseja que sua tabela seja chamada.


8

De acordo com o mysql docs : "renomear TEMPORARYtabelas, RENAME TABLEnão funciona. Use em ALTER TABLEvez disso."

Portanto, este é o método mais portátil:

ALTER TABLE `old_name` RENAME `new_name`;

6

Experimente qualquer um destes

RENAME TABLE `group` TO `member`;

ou

ALTER TABLE `group` RENAME `member`;

2

Para Mysql 5.6.18usar o seguinte comando

ALTER TABLE `old_table` RENAME TO `new_table`

Além disso, se houver um erro dizendo ".... próximo a RENAME TO ..." tente remover o tique `



1

Você pode usar

RENAME TABLE `group` TO `member`;

Use o sinal de retorno (`) em vez de aspas simples (').


-1

Sem dar o nome do banco de dados, a tabela não pode ser renomeada no meu caso, segui o comando abaixo para renomear a tabela.

RENAME TABLE current_db.tbl_name TO current_db.tbl_name;

-6

Clique com o botão direito do mouse em Exibir> Nova Consulta

E digite: EXEC sp_rename 'Table', 'NewName'

Em seguida, clique no botão Executar no canto superior esquerdo da página.


MySQL não Transact SQL
Adam Joseph Looze
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.