Rinomina una tabella in MySQL


285

Rinominare una tabella non funziona in MySQL

RENAME TABLE group TO member;

Il messaggio di errore è

#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 query funziona bene su altre tabelle per me, ma non con la tabella group.



3
Entrambi gli sqls sono uguali. Prova a rinominare la tabella "gruppo" in membro
user1406062

5
Questo dimostra bene quanto sia inutile usare le maiuscole per le parole chiave.
Martin Jambon,

8
No non lo fa. Le parole chiave in maiuscolo migliorano la leggibilità e sono previste in stile standard.
Fmalina,

Risposte:


474

groupè una parola chiave (parte di GROUP BY ) in MySQL, devi circondarla con backtick per mostrare a MySQL che vuoi che venga interpretato come un nome di tabella:

RENAME TABLE `group` TO `member`;

aggiunto (vedi commenti) - Quelle non sono virgolette singole.


51
E sì, hai bisogno del segno di spunta posteriore `e non della singola citazione 'Ho fatto la singola citazione dall'abitudine, e ho ottenuto l'errore, ma forse questo salverà qualcun altro 10 secondi
Paul

Alcune parole chiave, come NAME, sono ancora disponibili senza tick posteriori. Penso che questa disponibilità sia una cattiva pratica, che dovrebbe essere rimossa un giorno da MySQL
ad4s,

2
Oppure non utilizzare parole chiave per tabelle o colonne.
jDub9,

1
NON USARE PAROLE CHIAVE PER TAVOLI O COLONNE.
mydoglixu,


31

La query mysql per rinominare la tabella è

Rename Table old_name TO new_name

Nella tua query, hai utilizzato il gruppo quale una delle parole chiave in MySQL. Cerca di evitare le parole chiave mysql per nome durante la creazione di tabella, nome campo e così via.


23
ALTER TABLE old_table_name RENAME new_table_name;

o

RENAME TABLE old_table_name TO new_table_name;

19

Rinomina una tabella in MySQL:

ALTER TABLE current_name RENAME new_name;

5
Benvenuti in SO. Si prega di leggere questo how-to-risposta per la fornitura di risposta di qualità. Basta mostrare il codice non è una buona pratica.
thewaywewere

16

Modifica del nome della tabella

RENAME TABLE old_table_name TO new_table_name;

14

gruppo - è una parola riservata in MySQL, ecco perché vedi questo errore.

#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

Devi racchiudere il nome della tabella nei backtick :

RENAME TABLE `group` TO `member`;

13
ALTER TABLE `group` RENAME `member`

group è una parola chiave, quindi è necessario racchiuderlo in group


9
RENAME TABLE tb1 TO tb2;

tb1 - nome della tabella corrente. tb2 - il nome che si desidera venga chiamato nella tabella.


8

Secondo i documenti mysql : "per rinominare le TEMPORARYtabelle, RENAME TABLEnon funziona. Usa ALTER TABLEinvece".

Quindi questo è il metodo più portatile:

ALTER TABLE `old_name` RENAME `new_name`;

6

Prova uno di questi

RENAME TABLE `group` TO `member`;

o

ALTER TABLE `group` RENAME `member`;

2

Per Mysql 5.6.18utilizzare il seguente comando

ALTER TABLE `old_table` RENAME TO `new_table`

Anche se c'è un errore che dice ".... vicino a RENAME TO ..." prova a rimuovere il segno di spunta `



1

Puoi usare

RENAME TABLE `group` TO `member`;

Usa il segno di spunta indietro (`) anziché la virgoletta singola (').


-1

Senza dare il nome del database la tabella non può essere rinominata nel mio caso, ho seguito il comando seguente per rinominare la tabella.

RENAME TABLE current_db.tbl_name TO current_db.tbl_name;

-6

Fare clic con il tasto destro su Visualizza> Nuova query

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

Quindi fare clic sul pulsante Esegui nell'angolo in alto a sinistra della pagina.


MySQL non Transact SQL
Adam Joseph Looze,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.