Benennen Sie eine Tabelle in MySQL um

285

Das Umbenennen einer Tabelle funktioniert in MySQL nicht

RENAME TABLE group TO member;

Die Fehlermeldung lautet

#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

Die Abfrage funktioniert für andere Tabellen einwandfrei, aber nicht für die Tabelle group.

Anil Olakkal
quelle
3
Beide SQLs sind gleich. Versuchen Sie diese Umbenennungstabelle 'Gruppe' in Mitglied
Benutzer1406062
5
Dies zeigt deutlich, wie sinnlos es ist, Großbuchstaben für Schlüsselwörter zu verwenden.
Martin Jambon
8
Nein, tut es nicht. All-Caps-Schlüsselwörter verbessern die Lesbarkeit und werden als Standardstil erwartet.
Zeilenumbruch

Antworten:

474

groupist ein Schlüsselwort (Teil von GROUP BY ) in MySQL. Sie müssen es mit Backticks umgeben, um MySQL anzuzeigen, dass es als Tabellenname interpretiert werden soll:

RENAME TABLE `group` TO `member`;

hinzugefügt (siehe Kommentare) - Dies sind keine einfachen Anführungszeichen.

Joachim Isaksson
quelle
51
Und ja, Sie brauchen das Zurück-Häkchen "und nicht das einfache Anführungszeichen". Ich habe das einfache Anführungszeichen aus Gewohnheit gemacht und den Fehler erhalten, aber vielleicht spart dies jemand anderem 10 Sekunden
Paul
Einige Schlüsselwörter wie NAME sind weiterhin ohne Back Ticks verfügbar. Ich denke, diese Verfügbarkeit ist eine schlechte Praxis, die eines Tages aus MySQL entfernt werden sollte
ad4s
2
Oder verwenden Sie keine Schlüsselwörter für Tabellen oder Spalten.
jDub9
1
VERWENDEN SIE KEINE SCHLÜSSELWÖRTER FÜR TABELLEN ODER SPALTEN.
Mydoglixu
128

Bitte versuche

RENAME TABLE  `oldTableName` TO  `newTableName`
Vijay Verma
quelle
In der obigen Antwort erfahren Sie, warum Sie die Backticks verwenden sollten. @coder
LinusGeffarth
31

Die MySQL-Abfrage für die Umbenennungstabelle lautet

Rename Table old_name TO new_name

In Ihrer Abfrage haben Sie gruppiert, welches der Schlüsselwörter in MySQL. Vermeiden Sie MySQL-Schlüsselwörter für den Namen, während Sie eine Tabelle, einen Feldnamen usw. erstellen.

phponwebsites
quelle
23
ALTER TABLE old_table_name RENAME new_table_name;

oder

RENAME TABLE old_table_name TO new_table_name;
Neeraj Kumar
quelle
19

Benennen Sie eine Tabelle in MySQL um:

ALTER TABLE current_name RENAME new_name;
Hasib Kamal
quelle
5
Willkommen bei SO. Bitte lesen Sie diese Anleitung, um eine qualitativ hochwertige Antwort zu erhalten. Nur Code anzeigen ist keine gute Praxis.
thewaywewere
16

Änderung des Tabellennamens

RENAME TABLE old_table_name TO new_table_name;
AA Noman
quelle
14

group - ist ein reserviertes Wort in MySQL, deshalb sehen Sie einen solchen Fehler.

#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

Sie müssen den Tabellennamen in Backticks einschließen :

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

group ist ein Schlüsselwort, in das Sie einschließen müssen group

umar_
quelle
9
RENAME TABLE tb1 TO tb2;

tb1 - aktueller Tabellenname. tb2 - der Name, den Ihre Tabelle heißen soll.

Koech
quelle
8

Laut MySQL-Dokumenten : "Das Umbenennen von TEMPORARYTabellen RENAME TABLEfunktioniert nicht. Verwenden Sie ALTER TABLEstattdessen."

Dies ist also die portabelste Methode:

ALTER TABLE `old_name` RENAME `new_name`;
user2426679
quelle
6

Probieren Sie eines davon aus

RENAME TABLE `group` TO `member`;

oder

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

Für die Mysql 5.6.18Verwendung der folgenden Befehl ein

ALTER TABLE `old_table` RENAME TO `new_table`

Auch wenn der Fehler ".... in der Nähe von RENAME TO ..." angezeigt wird, entfernen Sie das Häkchen `

HAT
quelle
1

Das Ausführen des Alter - Befehl

1.Klicken Sie oben auf die Registerkarte SQL .

2. Geben Sie im Textfeld den folgenden Befehl ein: ALTER TABLE exampletable RENAME TO new_table_name;

3.Klicken Sie auf die Schaltfläche Los.

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

Neugierde
quelle
1

Sie können verwenden

RENAME TABLE `group` TO `member`;

Verwenden Sie das Zurück-Häkchen (`) anstelle des einfachen Anführungszeichens (').

Sodrul Amin Shaon
quelle
-1

Ohne Angabe des Datenbanknamens kann die Tabelle in meinem Fall nicht umbenannt werden. Ich habe den folgenden Befehl befolgt, um die Tabelle umzubenennen.

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

Klicken Sie mit der rechten Maustaste auf Ansicht> Neue Abfrage

Und geben Sie Folgendes ein: EXEC sp_rename 'Table', 'NewName'

Klicken Sie dann oben links auf der Seite auf die Schaltfläche Ausführen.

Loai Tayem
quelle
MySQL nicht Transact SQL
Adam Joseph Looze