Probleme avec une nouvelle foreign key

cudenetf Messages postés 448 Date d'inscription mardi 20 septembre 2005 Statut Membre Dernière intervention 26 juillet 2012 - 2 mars 2006 à 21:03
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

1 réponse

aieeeuuuuu Messages postés 698 Date d'inscription jeudi 16 janvier 2003 Statut Membre Dernière intervention 20 mai 2011 3
3 mars 2006 à 10:23
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
0
Rejoignez-nous