Je souhaite migrer l'une de mes bases de données myisam vers innodb. La raison principale est de permettre à mon application d'honorer l'intégrité référentielle.Problème d'intégrité référentielle lors de la migration de myisam vers innodb
C'est ce que je l'ai fait
- Exporté la base de données MyISAM actuelle
- Dropped la base de données
- Switched la base de données InnoDB http://parasjain.net/2010/06/08/how-to-switch-to-innodb-database-in-mysql/
- vérifié le commutateur du moteur, puis créé la nouvelle base de données
L'intégrité référentielle fonctionne maintenant. Par exemple, si je crée Parent p1 et Child c1 et que je renvoie p1 dans c1, je ne peux pas supprimer P1 tant qu'un enfant en dépend.
So far so good
Mais le problème se produit lorsque j'importer les anciennes données de la décharge exporté
Le problème est que l'intégrité référentielle est honoré pour les nouvelles données. Mais dans mes données existantes s'il y a une relation comme p2 référée par c2 alors je peux supprimer p2 briser l'intégrité référentielle. c2 est orphelin maintenant.
Existe-t-il un moyen de réparer/réindexer les tables afin que l'intégrité référentielle soit également appliquée aux données existantes?
Pouvez-vous publier la sortie de 'SHOW CREATE TABLE' pour deux des tables liées affectées? – Mike