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.



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.


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


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.


23
ALTER TABLE old_table_name RENAME new_table_name;

lub

RENAME TABLE old_table_name TO new_table_name;

19

Zmień nazwę tabeli w MySQL:

ALTER TABLE current_name RENAME new_name;

5
Witamy w SO. Przeczytaj ten poradnik, aby uzyskać wysokiej jakości odpowiedź. Po prostu pokaż kod nie jest dobrą praktyką.
thewaywewere


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

13
ALTER TABLE `group` RENAME `member`

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


9
RENAME TABLE tb1 TO tb2;

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


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

6

Wypróbuj którykolwiek z nich

RENAME TABLE `group` TO `member`;

lub

ALTER TABLE `group` RENAME `member`;

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 `



1

Możesz użyć

RENAME TABLE `group` TO `member`;

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


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

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


MySQL nie Transact SQL
Adam Joseph Looze
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.