Maison > base de données > tutoriel mysql > Pourquoi mon instruction INSERT SQL Server est-elle en conflit avec une contrainte FOREIGN KEY ?

Pourquoi mon instruction INSERT SQL Server est-elle en conflit avec une contrainte FOREIGN KEY ?

Linda Hamilton
Libérer: 2025-01-20 03:57:11
original
614 Les gens l'ont consulté

Why Does My SQL Server INSERT Statement Conflict with a FOREIGN KEY Constraint?

Dépannage des erreurs de contrainte FOREIGN KEY de SQL Server

SQL Server génère fréquemment l'erreur « Instruction INSERT en conflit avec la contrainte FOREIGN KEY ». Cela se produit lorsque vous essayez d'insérer des données dans une table liée à une autre via une relation de clé étrangère.

Le problème :

Cette erreur se produit lors d'une opération INSERT si la valeur de la clé étrangère dans la table cible ne correspond à aucune clé primaire existante dans la table référencée.

Exemple de message d'erreur :

<code>Msg 547, Level 16, State 0, Line 1
The INSERT statement conflicted with the FOREIGN KEY constraint "FK_Sup_Item_Sup_Item_Cat". The conflict occurred in database "dev_bo", table "dbo.Sup_Item_Cat". The statement has been terminated.</code>
Copier après la connexion

Ce message indique qu'une tentative d'insertion dans la table Sup_Item a échoué car la valeur de clé étrangère sup_item_cat_id (« 123123 ») n'existe pas en tant que clé primaire dans la table Sup_Item_Cat.

La solution :

Le correctif est simple : assurez-vous que la valeur de clé étrangère que vous insérez correspond à une clé primaire existante dans la table référencée. Dans notre exemple, un sup_item_cat_id correspondant doit déjà exister dans Sup_Item_Cat.

Utilisez la commande sp_help de SQL Server Management Studio pour examiner les contraintes de clé étrangère et les tables associées. Par exemple, sp_help 'dbo.Sup_Item_Cat' fournit des détails sur les contraintes de clé étrangère pour cette table, vous aidant à identifier la table et la colonne référencées et à confirmer que votre instruction INSERT utilise des données valides.

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