Différer les vérifications d'intégrité référentielle dans MySQL jusqu'à la validation
Comme indiqué dans une question précédente, il peut être souhaitable de retarder les vérifications d'intégrité référentielle jusqu'à ce que la validation soit effectuée. commettre une transaction. Cela peut être utile lors de l'insertion d'un grand nombre d'enregistrements associés dans plusieurs tables.
Cependant, selon la documentation MySQL, "InnoDB vérifie immédiatement les contraintes de clé étrangère ; la vérification n'est pas différée jusqu'à la validation de la transaction." Cela signifie que toute violation de contrainte de clé étrangère provoquera une erreur lors du processus d'insertion, même au sein d'une transaction.
Cette limitation empêche certaines opérations qui reposent sur une vérification de contrainte différée, comme la suppression d'un enregistrement qui fait référence à lui-même en utilisant une clé étrangère. Par conséquent, il n'est pas possible de différer les vérifications d'intégrité référentielle jusqu'à la validation dans MySQL à l'aide d'InnoDB.
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!