Maison > base de données > tutoriel mysql > le corps du texte

Les contraintes de clé étrangère peuvent-elles être différées jusqu'à la validation dans MySQL ?

Linda Hamilton
Libérer: 2024-11-09 13:49:02
original
319 Les gens l'ont consulté

Can Foreign Key Constraints Be Deferred Until Commit in MySQL?

Question : Les contraintes de clé étrangère peuvent-elles être différées jusqu'à la validation dans MySQL ?

Cette question se pose lors de l'exécution d'insertions groupées dans MySQL, en particulier lors d'une tentative pour insérer des données dans des tables liées par des clés étrangères. Malgré l'exécution d'insertions au sein d'une transaction, des erreurs de contrainte peuvent survenir.

Réponse :

Malheureusement, selon la documentation MySQL, les contrôles d'intégrité référentielle dans InnoDB sont effectués immédiatement à chaque ligne. insertion, plutôt que différée jusqu'à la validation de la transaction. Ce comportement s'écarte de la norme SQL, qui spécifie une vérification de contrainte différée.

Les vérifications immédiates imposent des limitations, en particulier lors de la gestion de tables auto-référentielles ou de scénarios dans lesquels les références de clés étrangères doivent être mises à jour séquentiellement. Jusqu'à ce que MySQL implémente la vérification différée des contraintes, de telles opérations peuvent nécessiter des approches alternatives.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal