Переименовать таблицу в 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
Нет. Все заглавные буквы улучшают читабельность и ожидают стандартного стиля.
Фмалина

Ответы:

474

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

RENAME TABLE `group` TO `member`;

добавлено (см. комментарии) - это не одинарные кавычки.

Иоахим Исакссон
источник
51
И да, вам нужен обратный тик ', а не одиночная кавычка' Я сделал кавычку по привычке и получил ошибку, но, возможно, это сэкономит кому-то еще 10 секунд
Пол
Некоторые ключевые слова, такие как NAME, по-прежнему доступны без обратных тиков. Я думаю, что эта доступность - плохая практика, которая должна быть удалена однажды из MySQL
ad4s
2
Или не используйте ключевые слова для таблиц или столбцов.
jDub9
1
НЕ ИСПОЛЬЗУЙТЕ КЛЮЧЕВЫЕ СЛОВА ДЛЯ СТОЛОВ ИЛИ КОЛОНН.
mydoglixu
128

Пожалуйста попробуйте

RENAME TABLE  `oldTableName` TO  `newTableName`
Виджай Верма
источник
Смотрите ответ выше, почему вы должны рассмотреть возможность использования обратных галочек. @coder
LinusGeffarth
31

MySQL запрос на переименование таблицы

Rename Table old_name TO new_name

В своем запросе вы использовали group, который является одним из ключевых слов в MySQL. Старайтесь избегать ключевых слов mysql для имени при создании таблицы, имени поля и так далее.

phponwebsites
источник
23
ALTER TABLE old_table_name RENAME new_table_name;

или

RENAME TABLE old_table_name TO new_table_name;
Нирадж Кумар
источник
19

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

ALTER TABLE current_name RENAME new_name;
Хасиб Камаль
источник
5
Добро пожаловать в ТАК. Пожалуйста, прочитайте эту инструкцию для обеспечения качественного ответа. Просто показывать код не очень хорошая практика.
thewaywewere
16

Изменение имени таблицы

RENAME TABLE old_table_name TO new_table_name;
А.А. Номан
источник
14

группа - это зарезервированное слово в 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

umar_
источник
9
RENAME TABLE tb1 TO tb2;

tb1 - имя текущей таблицы. tb2 - имя, по которому вы хотите, чтобы ваш стол назывался.

Koech
источник
8

Согласно документации mysql : «переименовывать TEMPORARYтаблицы RENAME TABLEне работает. Используйте ALTER TABLEвместо этого».

Так что это самый переносимый метод:

ALTER TABLE `old_name` RENAME `new_name`;
user2426679
источник
6

Попробуйте любой из этих

RENAME TABLE `group` TO `member`;

или

ALTER TABLE `group` RENAME `member`;
Мохаммед Шафик
источник
2

Для Mysql 5.6.18использования следующей команды

ALTER TABLE `old_table` RENAME TO `new_table`

Также, если возникла ошибка «.... рядом с RENAME TO ...», попробуйте снять галочку `

HA S
источник
1

Запуск The Alter Command

1. Перейдите на вкладку SQL вверху.

2.В текстовом поле введите следующую команду: ALTER TABLE exampletable RENAME TO new_table_name;

3.Нажмите кнопку перехода.

источник: https://my.bluehost.com/hosting/help/2158

любопытство
источник
1

Ты можешь использовать

RENAME TABLE `group` TO `member`;

Используйте обратную галочку (`) вместо одинарных кавычек (').

Содрул Амин Шаон
источник
-1

Без указания имени базы данных таблицу нельзя переименовать в моем случае, я следовал приведенной ниже команде, чтобы переименовать таблицу.

RENAME TABLE current_db.tbl_name TO current_db.tbl_name;
Вишнувардхен
источник
-6

Щелкните правой кнопкой мыши View> New Query

И введите: EXEC sp_rename 'Table', 'NewName'

Затем нажмите кнопку «Выполнить» в верхнем левом углу страницы.

Лоай Тайем
источник
MySQL не Transact SQL
Адам Джозеф Луз