Переименовать таблицу в MySQL

227

Переименование таблицы в 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.

  • 0
    вот документация
  • 3
    Оба sqls одинаковы. Попробуйте переименовать таблицу 'group' для участника
Показать ещё 2 комментария
Теги:
database
table-rename

14 ответов

415

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

RENAME TABLE `group` TO `member`;

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

  • 46
    И да, вам нужна обратная галочка `а не одинарная кавычка 'Я сделал одинарную цитату по привычке и получил ошибку, но, возможно, это сэкономит кому-то еще 10 секунд
  • 0
    Некоторые ключевые слова, такие как NAME, по-прежнему доступны без обратных тиков. Я думаю, что эта доступность - плохая практика, которая должна быть удалена однажды из MySQL.
Показать ещё 2 комментария
108

Попробуйте

RENAME TABLE  `oldTableName` TO  `newTableName`
  • 1
    @ кодер Я не использовал кавычки, это backtick (`)
  • 0
    Смотрите ответ выше, почему вы должны рассмотреть возможность использования обратных галочек. @coder
31

Запрос mysql для таблицы переименования

Rename Table old_name TO new_name

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

19
ALTER TABLE old_table_name RENAME new_table_name;

или

RENAME TABLE old_table_name TO new_table_name;
  • 1
    спасибо работает
15

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

ALTER TABLE current_name RENAME new_name;
  • 5
    Добро пожаловать в ТАК. Пожалуйста, прочитайте эту инструкцию для обеспечения качественного ответа. Просто показывать код не очень хорошая практика.
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

Вам нужно привязать имя таблицы к backticks:

RENAME TABLE `group` TO `member`;
  • 0
    проголосовал за объяснение причины ошибки.
12
ALTER TABLE `group` RENAME `member`

group - ключевое слово, поэтому вам нужно заключить в group

10

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

RENAME TABLE name_old_table TO name_new_table;
9
RENAME TABLE tb1 TO tb2;

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

6

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

RENAME TABLE `group` TO `member`;

или

ALTER TABLE `group` RENAME `member`;
0

Выполнение команды Alter

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

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

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

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

0
ALTER TABLE old_example_table RENAME TO new_table_name;
0

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

RENAME TABLE current_db.tbl_name TO current_db.tbl_name;
-7

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

И Тип: EXEC sp_rename 'Таблица', 'NewName'

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

  • 0
    MySQL не Transact SQL

Ещё вопросы

Сообщество Overcoder
Наверх
Меню