Maison > base de données > tutoriel mysql > le corps du texte

Pourquoi ALTER IGNORE TABLE échoue-t-il avec InnoDB et comment y remédier ?

Barbara Streisand
Libérer: 2024-11-10 01:47:02
original
255 Les gens l'ont consulté

Why Does ALTER IGNORE TABLE Fail with InnoDB and How to Workaround It?

MySQL : Comprendre les limites d'ALTER IGNORE TABLE avec InnoDB

La commande ALTER IGNORE TABLE est destinée à aider à supprimer les doublons d'un MySQL table en ajoutant un index unique. Cependant, les utilisateurs ont rencontré des erreurs inattendues lors de l'application de cette commande, telles que l'erreur « Violation de contrainte d'intégrité ».

Selon la documentation MySQL, le mot-clé IGNORE devrait permettre d'ignorer les erreurs de clé en double pendant le processus de modification. Cependant, un bug apparent dans la version InnoDB de MySQL sur certaines versions a été identifié. Ce bug empêche le mot-clé IGNORE de fonctionner comme prévu.

En guise de solution de contournement, les utilisateurs peuvent envisager de convertir la table en MyISAM, d'ajouter l'index unique avec IGNORE, puis de reconvertir en InnoDB. Ce processus est décrit comme suit :

ALTER TABLE table ENGINE MyISAM;
ALTER IGNORE TABLE table ADD UNIQUE INDEX dupidx (field);
ALTER TABLE table ENGINE InnoDB;
Copier après la connexion

Il est important de noter que cette solution peut ne pas être viable si la table a des contraintes de clé étrangère, car ces contraintes devront être supprimées avant la conversion puis ajoutées. je reviens ensuite.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal