Je voudrais renommer un index. J'ai regardé la documentation alter table, mais je ne peux pas comprendre la syntaxe pour simplement renommer un index. Lorsque vous le faites via l'interface graphique de MySQL, il supprime l'index et en crée un nouveau. Bien que cela fonctionne, je voudrais éviter de reconstruire l'index entier juste pour changer le nom d'un index.Comment renommer un index dans MySQL
[Plus d'infos]
Dans la documentation alter table il indique
modifications qui ne modifions que la table métadonnées et non des données de table peuvent être fait immédiatement en modifiant le fichier .frm de la table et ne pas toucher le contenu de la table . Les modifications suivantes sont des modifications rapides qui peuvent être faites cette façon:
* Renaming a column or index.
Cependant, quand j'ai essayé de renommer l'index en éditant le fichier .frm (sur une base de données de test) et le redémarrage du serveur, il indique maintenant "Impossible d'extraire des colonnes" dans l'interface utilisateur lorsque vous essayez de lister les colonnes et lorsque vous tentez d'exécuter une requête, il renvoie l'erreur "Moteur de table inconnu" "". Le fichier .frm contient beaucoup de contenu binaire. Y at-il un bon outil pour éditer l'information binaire.
Anecdote: la norme SQL dit rien du tout sur les index! C'est purement un problème de mise en œuvre du fournisseur lié à l'optimisation, donc toute la syntaxe liée aux index est propriétaire, dans toutes les marques de base de données SQL. –
Oui, c'est à peu près ce qui s'est passé. Même fait MySQL se bloquer lors de l'édition du fichier de façon incorrecte. Marquer cela comme correct. Idéalement, vous pouvez simplement renommer l'index, car ce ne sont que des métadonnées, mais il semble que cela n'existe pas. – Kibbee