Que sont les contraintes et les vérifications de clé étrangère MySQL
Une clé étrangère est une clé de base de données qui est utilisée pour lier deux tables de bases de données. C’est un champ (ou une collection de champs ou de colonnes) dans une table, qui fait référence à la clé PRIMARY KEY dans une autre table. La contrainte FOREIGN KEY est utilisée pour empêcher des actions qui détruiraient les liens entre les tables.
Avoir de telles relations entre les tables de la base de données est utile pour maintenir l’intégrité des données dans la base de données et empêche l’insertion ou la suppression par erreur de données dans les tables de la base de données liées.
Cependant, dans certains cas où il est nécessaire de repeupler une grande quantité de données dans la base de données, la vérification de la contrainte FOREIGN KEY peut empêcher le repeuplement. Par exemple, si vous avez créé une copie de transfert de votre site web et que vous y avez apporté des modifications importantes et que vous voulez la mettre en ligne, l’action pourrait être bloquée par la vérification des contraintes. Ceci est dû au fait que lorsque vous poussez le transfert à live, il essaie d’écraser les données de certaines des tables de votre base de données qui ont la relation de clé étrangère.
Si cela se produit, l’outil de transfert affichera un message d’avertissement et vous donnera la possibilité de désactiver la vérification et de repousser la copie de transfert. Vous avez juste besoin de cliquer sur Essayer à nouveau et la copie de transfert sera poussée avec la vérification de la contrainte FOREIGN KEY désactivée. Ignorer la vérification n’affectera pas vos bases de données ni les FOREIGN KEYS qu’elles contiennent.