Renommer une table dans MySQL

285

Renommer une table ne fonctionne pas dans MySQL

RENAME TABLE group TO member;

Le message d'erreur est

#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 requête fonctionne bien sur d'autres tables pour moi, mais pas avec la table group.

Anil Olakkal
la source
3
Les deux sqls sont identiques. Essayez de renommer la table «groupe» en membre
user1406062
5
Cela illustre bien à quel point il est inutile d'utiliser des majuscules pour les mots clés.
Martin Jambon
8
Non. Les mots clés en majuscules améliorent la lisibilité et sont attendus dans le style standard.
fmalina

Réponses:

474

groupest un mot-clé (partie de GROUP BY ) dans MySQL, vous devez l'entourer de backticks pour montrer à MySQL que vous voulez qu'il soit interprété comme un nom de table:

RENAME TABLE `group` TO `member`;

ajouté (voir commentaires) - Ce ne sont pas des guillemets simples.

Joachim Isaksson
la source
51
Et oui, vous avez besoin de la coche arrière `et non de la citation unique 'J'ai fait la citation simple par habitude, et j'ai eu l'erreur, mais cela sauvera peut-être quelqu'un d'autre 10 secondes
Paul
Certains mots clés, tels que NAME, sont toujours disponibles sans retour en arrière. Je pense que cette disponibilité est une mauvaise pratique, qui devrait être supprimée un jour de MySQL
ad4s
2
Ou n'utilisez pas de mots clés pour les tableaux ou les colonnes.
jDub9
1
N'UTILISEZ PAS DE MOTS CLÉS POUR DES TABLEAUX OU DES COLONNES.
mydoglixu
128

S'il vous plaît essayez

RENAME TABLE  `oldTableName` TO  `newTableName`
Vijay Verma
la source
Voir la réponse ci-dessus pour savoir pourquoi vous devriez envisager d'utiliser les astuces. @coder
LinusGeffarth
31

La requête mysql pour renommer la table est

Rename Table old_name TO new_name

Dans votre requête, vous avez utilisé le groupe qui est l'un des mots clés de MySQL. Essayez d'éviter les mots-clés mysql pour le nom lors de la création de la table, du nom du champ, etc.

phponwebsites
la source
23
ALTER TABLE old_table_name RENAME new_table_name;

ou

RENAME TABLE old_table_name TO new_table_name;
Neeraj Kumar
la source
19

Renommez une table dans MySQL:

ALTER TABLE current_name RENAME new_name;
Hasib Kamal
la source
5
Bienvenue chez SO. Veuillez lire ce tutoriel pour fournir une réponse de qualité. Afficher le code n'est pas une bonne pratique.
thewaywewere
16

Changement de nom de table

RENAME TABLE old_table_name TO new_table_name;
AA Noman
la source
14

group - est un mot réservé dans MySQL, c'est pourquoi vous voyez une telle erreur.

#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

Vous devez envelopper le nom de la table dans des crochets :

RENAME TABLE `group` TO `member`;
Boris
la source
13
ALTER TABLE `group` RENAME `member`

le groupe est un mot-clé, vous devez donc group

umar_
la source
9
RENAME TABLE tb1 TO tb2;

tb1 - nom actuel de la table. tb2 - le nom que vous voulez que votre table soit appelée.

Koech
la source
8

Selon les documents mysql : "renommer des TEMPORARYtables, RENAME TABLEne fonctionne pas. Utilisez à la ALTER TABLEplace."

C'est donc la méthode la plus portable:

ALTER TABLE `old_name` RENAME `new_name`;
user2426679
la source
6

Essayez l'une de ces options

RENAME TABLE `group` TO `member`;

ou

ALTER TABLE `group` RENAME `member`;
Mohammed Shafeek
la source
2

Pour Mysql 5.6.18utiliser la commande suivante

ALTER TABLE `old_table` RENAME TO `new_table`

Aussi, s'il y a une erreur disant ".... près de RENOMMER POUR ...", essayez de supprimer la coche `

A
la source
1

Exécution de la commande Alter

1.Cliquez sur l' onglet SQL en haut.

2.Dans la zone de texte, entrez la commande suivante: ALTER TABLE exampletable RENAME TO new_table_name;

3.Cliquez sur le bouton Aller.

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

curiosité
la source
1

Vous pouvez utiliser

RENAME TABLE `group` TO `member`;

Utilisez une coche arrière (`) au lieu d'un guillemet simple (').

Sodrul Amin Shaon
la source
-1

Sans donner le nom de la base de données, la table ne peut pas être renommée dans mon cas, j'ai suivi la commande ci-dessous pour renommer la table.

RENAME TABLE current_db.tbl_name TO current_db.tbl_name;
Vishnuvardhan
la source
-6

Clic droit sur Affichage> Nouvelle requête

Et tapez: EXEC sp_rename 'Table', 'NewName'

Cliquez ensuite sur le bouton Exécuter dans le coin supérieur gauche de la page.

Loai Tayem
la source
MySQL pas Transact SQL
Adam Joseph Looze