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.



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.


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


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.


23
ALTER TABLE old_table_name RENAME new_table_name;

oder

RENAME TABLE old_table_name TO new_table_name;

19

Benennen Sie eine Tabelle in MySQL um:

ALTER TABLE current_name RENAME new_name;

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;

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`;

13
ALTER TABLE `group` RENAME `member`

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


9
RENAME TABLE tb1 TO tb2;

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


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`;

6

Probieren Sie eines davon aus

RENAME TABLE `group` TO `member`;

oder

ALTER TABLE `group` RENAME `member`;

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 `


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


1

Sie können verwenden

RENAME TABLE `group` TO `member`;

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


-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;

-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.


MySQL nicht Transact SQL
Adam Joseph Looze
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.