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.