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

ON DELETE CASCADE ne fonctionne pas dans MySQL

Le moteur de stockage MyISAM ne prend pas en charge les contraintes de clé étrangère. La contrainte est analysée mais silencieusement ignorée.

Pour résoudre votre problème, utilisez plutôt le moteur InnoDB (pour les deux tables).

CREATE TABLE ( ... ) ENGINE = InnoDB ... ;

Au lieu de supprimer vos tables et de les recréer, vous pouvez également modifier le moteur de stockage :

ALTER TABLE myDB.app_info ENGINE = InnoDB;
ALTER TABLE myDB.tab_info ENGINE = InnoDB;

Après avoir changé de moteur, vous devrez ajouter à nouveau la contrainte de clé étrangère.