Maison > Article > base de données > Pourquoi ALTER IGNORE TABLE génère-t-il toujours une erreur « Entrée en double » dans MySQL ?
MySQL : ALTER IGNORE TABLE soulève une "violation de contrainte d'intégrité" malgré la documentation
La documentation MySQL indique clairement que l'utilisation d'ALTER IGNORE TABLE, lorsqu'elle est combinée avec une CLÉ UNIQUE, devrait permettre la suppression des doublons en remplaçant toutes les erreurs de clé en double. Cependant, dans la pratique, les utilisateurs ont rencontré le message d'erreur persistant "#1062 - Entrée en double 'blabla' pour la clé 'dupidx'".
Ce comportement semble être dû à un bug dans la version InnoDB de MySQL sur certaines versions. Plus précisément, l'extension de mot-clé IGNORE ne fonctionne pas comme prévu dans le contexte InnoDB.
Solution :
Pour contourner ce problème, les utilisateurs peuvent utiliser la solution de contournement suivante :
Remarque : Si la table contient des contraintes de clé étrangère, supprimez-les et rajoutez-les sera nécessaire pour garantir l’intégrité des données.
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!