Comment ajouter une clé étrangère d'une colonne existante de SQL Server 2012
Je suis en train d'ajouter une clé étrangère à ma colonne existante à l'aide de requête ci-dessous
ALTER TABLE Sub_Category_Master
ADD FOREIGN KEY (Category_ID) REFERENCES Category_Master(Category_ID)
mais j'obtiens une erreur
De l'instruction ALTER TABLE en conflit avec la contrainte de CLÉ ÉTRANGÈRE "FK__Sous_Catég__Catég__5812160E". Le conflit est survenu dans la base de données "shaadikarbefikar_new", tableau "shaadikarbefikar.Category_Master", la colonne 'Category_ID'.
- Est-ce que chaque categoryid est en sous... existent dans la table cible?
- Il ne fonctionne pas encore. encore en train d'erreur. L'instruction ALTER TABLE en conflit avec la contrainte de CLÉ ÉTRANGÈRE "FK_SubCategoryMaster_CategoryMaster". Le conflit est survenu dans la base de données "shaadikarbefikar_new", tableau "shaadikarbefikar.Category_Master", la colonne 'Category_ID'.
Vous devez vous connecter pour publier un commentaire.
Ainsi, l'erreur indique clairement ce que vous
Category_ID
dans votreSub_Category_Master
tableau contient des valeurs qui sont présente pas de dansCategory_Master
(colonneCategory_ID
). Mais c'est exactement le point d'avoir une contrainte de clé étrangère - s'assurer que votre enfant tableau (Sub_Category_Master
) utilise seulement défini valeurs à partir de sa table parent.Par conséquent, vous devez corriger ces "vaudou" valeurs " d'abord, avant de vous êtes en mesure d'établir cette relation de clé étrangère. Je voudrais également vous recommandons fortement de à explicitement nom que la contrainte de vous-même, afin d'éviter celles générées par le système, mais pas vraiment très utile contrainte des noms comme
FK__Sub_Categ__Categ__5812160E
: