Mysql
 sql >> Base de données >  >> RDS >> Mysql

MySQL :ALTER IGNORE TABLE donne une violation de la contrainte d'intégrité

Le IGNORE l'extension de mot-clé à MySQL semble avoir un bogue dans la version InnoDB sur certaines versions de MySQL.

Vous pouvez toujours convertir en MyISAM, IGNORER-AJOUTER l'index puis reconvertir en InnoDB

ALTER TABLE table ENGINE MyISAM;
ALTER IGNORE TABLE table ADD UNIQUE INDEX dupidx (field);
ALTER TABLE table ENGINE InnoDB;

Notez que si vous avez des contraintes de clé étrangère, cela ne fonctionnera pas, vous devrez d'abord les supprimer et les rajouter plus tard.