Me gustaría cambiar el nombre de un índice. Miré la documentación de alter table, pero no puedo entender la sintaxis para simplemente cambiar el nombre de un índice. Al hacerlo a través de la GUI de MySQL, deja caer el índice y crea uno nuevo. Mientras esto funcione, me gustaría evitar reconstruir todo el índice solo para cambiar el nombre de un índice.Cómo cambio el nombre de un índice en MySQL
[INFO ADICIONAL]
En la documentación de modificación de tabla que indica
Las alteraciones que modifican la única mesa metadatos y no datos de la tabla pueden ser hecho de inmediato mediante la alteración de archivos .frm de la tabla y sin tocar el contenido de la tabla . Los siguientes cambios son alteraciones rápidas que se pueden hacer esta manera:
* Renaming a column or index.
Sin embargo, cuando traté de cambiar el nombre del índice mediante la edición del archivo .frm (en una base de datos de prueba) y reiniciar el servidor, ahora indica "No se pudieron recuperar columnas" en la interfaz de usuario al intentar enumerar las columnas, y cuando se intenta ejecutar una consulta, se devuelve el error "Motor de tabla desconocida". El archivo .frm tiene mucho contenido binario. ¿Hay una buena herramienta para editar la información binaria?
Anécdota: el estándar SQL no dice nada en absoluto acerca de los índices! Se trata simplemente de un problema de implementación del proveedor relacionado con la optimización, por lo que toda la sintaxis relacionada con los índices es propietaria, en todas las marcas de bases de datos SQL. –
Sí, eso es más o menos lo que sucedió. Incluso hizo que MySQL fallara al editar el archivo incorrectamente. Marcando esto como correcto. Idealmente, podría cambiar el nombre del índice, porque solo se trata de metadatos, pero parece que funcionalmente no existe. – Kibbee