Probleme avec une nouvelle foreign key

Messages postés
449
Date d'inscription
mardi 20 septembre 2005
Statut
Membre
Dernière intervention
26 juillet 2012
- - Dernière réponse : aieeeuuuuu
Messages postés
698
Date d'inscription
jeudi 16 janvier 2003
Statut
Membre
Dernière intervention
20 mai 2011
- 3 mars 2006 à 10:23
bonjour,
j'ai créé des tables sous MSDE.
Je viens de remarquer que j'avais oublié de creer une foreign key et j'ai deja commencé a remplir la table.
je tente d'ajouter la contrainte en faisant:

alter table ma_table
add constraint nom_contrainte foreign key (cle-etrangere) references autre_table(cle-de-cette-table)
go

mais j'ai un message d'erreur que je ne comprends pas
ALTER TABLE statement conflicted with column foreign key constraint 'nom_contrainte'.The conflict accured in database 'ma_base',table 'autre_table', column 'cle-de-cette-table'.

COmment puis-je faire pour ajouter cette constraint???

Merci
Afficher la suite 

1 réponse

Messages postés
698
Date d'inscription
jeudi 16 janvier 2003
Statut
Membre
Dernière intervention
20 mai 2011
2
0
Merci
pour ajouter ta contrainte, il faut qu'elle soit deja "repsectée".

c'est a dire que les clef contenues dans le champs sur lequel tu essaie de mettre une clef etrangere doivent exister dans la table 'autre_table'

je te conseille donc de faire une requete du genre :

select * from ma_table where cle-etrangere not in (select clef-primaire from autre_table)

pour voir quelles sont les clefs qui bloque et pourquoi elles sont orphelines...

ensuite tu peux soit les supprimer, soit ajouter les enregistrements qui vont bien dans l'autre table

j'espere que j'ai été a peu pres clair
Commenter la réponse de aieeeuuuuu