Zmień nazwę tabeli w MySQL

285

Zmiana nazwy tabeli nie działa w MySQL

RENAME TABLE group TO member;

Komunikat o błędzie to

#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

Dla mnie zapytanie działa poprawnie na innych tabelach, ale nie na tabeli group.

Anil Olakkal
źródło
3
Oba sql są takie same. Spróbuj zmienić nazwę tabeli „grupa” na członka
użytkownik1406062
5
To ładnie ilustruje, jak bezcelowe jest używanie wielkich liter dla słów kluczowych.
Martin Jambon,
8
Nie. Wszystkie słowa kluczowe poprawiają czytelność i spodziewany jest standardowy styl.
fmalina

Odpowiedzi:

474

groupjest słowem kluczowym (częścią GROUP BY ) w MySQL, musisz otoczyć go backtickami, aby pokazać MySQL, że chcesz interpretować go jako nazwę tabeli:

RENAME TABLE `group` TO `member`;

dodano (patrz komentarze) - To nie są pojedyncze cytaty.

Joachim Isaksson
źródło
51
I tak, potrzebujesz tyknięcia „a nie pojedynczego cytatu” Zrobiłem pojedynczy cytat z przyzwyczajenia i dostałem błąd, ale może to uratuje kogoś innego 10 sekund
Paul
Niektóre słowa kluczowe, takie jak NAME, są nadal dostępne bez tykania. Myślę, że ta dostępność to zła praktyka, którą pewnego dnia należy usunąć z MySQL
ad4s
2
Nie używaj też słów kluczowych w tabelach lub kolumnach.
jDub9
1
NIE UŻYWAJ SŁÓW KLUCZOWYCH DO TABEL LUB KOLUMN.
mydoglixu
128

Proszę spróbować

RENAME TABLE  `oldTableName` TO  `newTableName`
Vijay Verma
źródło
Zobacz odpowiedź powyżej, aby dowiedzieć się, dlaczego powinieneś rozważyć użycie backticks. @coder
LinusGeffarth
31

Zapytanie mysql dla tabeli zmiany nazw to

Rename Table old_name TO new_name

W zapytaniu użyłeś grupy, które jedno ze słów kluczowych w MySQL. Staraj się unikać słów kluczowych mysql dla nazwy podczas tworzenia tabeli, nazwy pola i tak dalej.

phponwebsites
źródło
23
ALTER TABLE old_table_name RENAME new_table_name;

lub

RENAME TABLE old_table_name TO new_table_name;
Neeraj Kumar
źródło
19

Zmień nazwę tabeli w MySQL:

ALTER TABLE current_name RENAME new_name;
Hasib Kamal
źródło
5
Witamy w SO. Przeczytaj ten poradnik, aby uzyskać wysokiej jakości odpowiedź. Po prostu pokaż kod nie jest dobrą praktyką.
thewaywewere
16

Zmiana nazwy tabeli

RENAME TABLE old_table_name TO new_table_name;
AA Noman
źródło
14

grupa - to słowo zastrzeżone w MySQL, dlatego widzisz taki błąd.

#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

Musisz zawinąć nazwę tabeli w backticks :

RENAME TABLE `group` TO `member`;
Boris
źródło
13
ALTER TABLE `group` RENAME `member`

grupa jest słowem kluczowym, więc musisz dołączyć do group

umar_
źródło
9
RENAME TABLE tb1 TO tb2;

tb1 - bieżąca nazwa tabeli. tb2 - nazwa, którą ma nazywać twoja tabela.

Koech
źródło
8

Według dokumentów mysql : „zmiana nazw TEMPORARYtabel RENAME TABLEnie działa. ALTER TABLEZamiast tego użyj ”.

Jest to więc najbardziej przenośna metoda:

ALTER TABLE `old_name` RENAME `new_name`;
użytkownik2426679
źródło
6

Wypróbuj którykolwiek z nich

RENAME TABLE `group` TO `member`;

lub

ALTER TABLE `group` RENAME `member`;
Mohammed Shafeek
źródło
2

Aby Mysql 5.6.18użyć następującego polecenia

ALTER TABLE `old_table` RENAME TO `new_table`

Również jeśli wystąpi błąd z napisem „.... w pobliżu ZMIEŃ NAZWĘ ...”, spróbuj usunąć zaznaczenie `

HA S
źródło
1

Uruchamianie polecenia Alter

1. Kliknij kartę SQL u góry.

2. W polu tekstowym wprowadź następujące polecenie: ALTER TABLE exampletable RENAME TO new_table_name;

3. Kliknij przycisk Start.

źródło: https://my.bluehost.com/hosting/help/2158

ciekawość
źródło
1

Możesz użyć

RENAME TABLE `group` TO `member`;

Użyj wstecznego tiku (`) zamiast pojedynczego cudzysłowu (').

Sodrul Amin Shaon
źródło
-1

Bez podania nazwy bazy danych nazwa tabeli nie może zostać zmieniona w moim przypadku, wykonałem poniższe polecenie, aby zmienić nazwę tabeli.

RENAME TABLE current_db.tbl_name TO current_db.tbl_name;
Vishnuvardhan
źródło
-6

Kliknij prawym przyciskiem myszy Widok> Nowe zapytanie

I wpisz: EXEC sp_rename „Table”, „NewName”

Następnie kliknij przycisk Uruchom w lewym górnym rogu strony.

Loai Tayem
źródło
MySQL nie Transact SQL
Adam Joseph Looze