Я хотел бы переименовать индекс. Я просмотрел документацию alter table, но я не могу понять синтаксис, чтобы просто переименовать индекс. Выполняя это через GUI MySQL, он отбрасывает индекс и создает новый. Хотя это работает, я хотел бы избежать перестройки всего индекса только для изменения имени индекса.Как переименовать индекс в MySQL
[ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ]
В документации альтер таблице говорится
изменения, которые модифицируют только таблицу метаданных и не табличные данные могут быть сделаны сразу путем изменения файла .frm в таблицы и не трогающий таблица содержание. Следующие изменения являются быстрые изменения, которые могут быть сделаны таким образом:
* Renaming a column or index.
Однако, когда я попытался переименовать индекс путем редактирования файла .frm (на тестовой базе данных) и перезапуска сервера, он теперь заявляет: «Не удалось получить столбцы» в пользовательском интерфейсе при попытке перечислить столбцы, а при попытке выполнить запрос возвращает ошибку «Неизвестный механизм таблицы». Файл .frm содержит много двоичного содержимого. Есть ли хороший инструмент для редактирования двоичной информации.
Общая информация: стандарт SQL ничего не говорит вообще об индексах! Это чисто проблема реализации поставщика, связанная с оптимизацией, поэтому все синтаксисы, связанные с индексами, являются собственностью всех брендов базы данных SQL. –
Да, это в значительной степени то, что произошло. Даже при сбое MySQL при неправильном редактировании файла. Пометьте это как правильное. В идеале вы можете просто переименовать индекс, потому что это всего лишь метаданные, но похоже, что функционально не существует. – Kibbee