Перейменуйте таблицю в MySQL


285

Перейменування таблиці не працює в MySQL

RENAME TABLE group TO member;

Повідомлення про помилку є

#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

Запит працює нормально для інших таблиць для мене, але не для таблиці group.



3
Обидва sqls однакові. Спробуйте скористатися цією таблицею перейменування 'group' до члена
user1406062

5
Це добре ілюструє, наскільки безглуздо використовувати цілі шапки для ключових слів.
Мартін Джамбон

8
Ні, це не є. Ключові слова з усіма кришками покращують читабельність і очікуються стандартним стилем.
fmalina

Відповіді:


474

group- це ключове слово (частина GROUP BY ) у MySQL, вам потрібно оточити його за допомогою зворотних посилань, щоб показати MySQL, що ви хочете його інтерпретувати як назву таблиці:

RENAME TABLE `group` TO `member`;

додано (див. коментарі) - Це не поодинокі цитати.


51
І так, вам потрібна зворотна галочка `, а не єдина цитата '. Я зробив єдину цитату за звичкою і отримав помилку, але, можливо, це врятує когось ще 10 секунд
Павло

Деякі ключові слова, такі як NAME, як і раніше доступні без зворотних кліщів. Я вважаю, що це доступність - це погана практика, яку слід прибрати один день з MySQL
ad4s

2
Або не використовуйте ключові слова для таблиць або стовпців.
jDub9

1
НЕ ВИКОРИСТОВУЙТЕ КЛЮЧОВІ СЛОВА ДЛЯ ТАБЛИЦІВ АБО КОЛОНІВ.
mydoglixu


31

Запит mysql для таблиці перейменувань є

Rename Table old_name TO new_name

У вашому запиті ви використовували групу одного з ключових слів у MySQL. Намагайтеся уникати ключових слів mysql для імені під час створення таблиці, імені поля тощо.





14

group - це застережене слово в MySQL, тому ви бачите таку помилку.

#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

Потрібно загортати ім’я таблиці на задній план :

RENAME TABLE `group` TO `member`;

13
ALTER TABLE `group` RENAME `member`

group - це ключове слово, тому вам доведеться вкластись group


9
RENAME TABLE tb1 TO tb2;

tb1 - назва поточної таблиці. tb2 - ім'я, за яким потрібно називати вашу таблицю.




2

Для Mysql 5.6.18використання наступна команда

ALTER TABLE `old_table` RENAME TO `new_table`

Також якщо є помилка з написом ".... біля RENAME TO ...", спробуйте зняти галочку `



1

Можна використовувати

RENAME TABLE `group` TO `member`;

Використовуйте зворотний галочку (`) замість однієї лапки (').


-1

Не даючи імені бази даних, таблицю в моєму випадку неможливо перейменувати, я перейшов до команди нижче, щоб перейменувати таблицю.

RENAME TABLE current_db.tbl_name TO current_db.tbl_name;

-6

Клацніть правою кнопкою миші Перегляд> Новий запит

І введіть: EXEC sp_rename 'Таблиця', 'NewName'

Потім натисніть кнопку Виконати у верхньому лівому куті сторінки.


MySQL не Transact SQL
Адам Джозеф Looze
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.