Répondre

0

Oui, vous pouvez le faire en modifiant la table, puis mettre à jour les valeurs suivantes:

alter table table2 add column TagId int; 

update table2 t2 join 
     table1 t1 
     on t2.TagName = t1.TagName 
    set t2.TagId = t1.TagId; 

alter table table2 add constraint fk_table2_tagid 
    foreign key (TagId) references table1(TagId); 

je recommande la construction d'un index sur table1(TagName) pour la performance.

+0

Je mettrais à jour les valeurs avant d'ajouter la contrainte FK. Après avoir effectué la mise à jour, vous pouvez toujours trouver des enregistrements orphelins car vous n'aviez pas de FK à l'origine. Ils peuvent avoir besoin d'une résolution manuelle. – HLGEM

+0

J'ai dû mettre à jour les valeurs avant d'ajouter la contrainte de clé étrangère car elle ne me laisserait pas faire l'inverse. Cela a du sens car aucun des ID de la table parente n'était null et cela a évidemment causé un problème lorsque j'ai essayé de définir la relation. Les gars, merci beaucoup pour votre aide! –