2016-04-25 24 views
0

Msg 547, Ebene 16, Status 0, Zeile 2Fehler beim Hinzufügen eines Fremdschlüssel

Die ALTE TABLE-Anweisung in Konflikt mit der FOREIGN KEY-Einschränkung "AB_TRANS_FK3". Der Konflikt ist in der Datenbank "DEV" aufgetreten, Tabelle "dbo.PRODUCT", Spalte "ID".

Hallo an alle,

Ich brauche Ihre Hilfe mit diesem Fehler. Ich versuche, einen Fremdschlüssel hier mithilfe der folgenden Abfrage

ALTER TABLE [dbo].[AB_TRANS] WITH CHECK ADD CONSTRAINT [AB_TRANS_FK3] FOREIGN KEY([ID]) 
REFERENCES [dbo].[PRODUCT] ([ID]) 
+0

Offensichtlich haben Sie eine Zeile in 'AB_TRANS' mit einem Fremdschlüssel, der nicht mit einem Primärschlüssel in' PRODUCT' übereinstimmt. –

+0

ja du hast Recht. Gibt es eine Möglichkeit, den Fremdschlüssel hinzuzufügen, ohne die vorhandenen Daten zu validieren? – Newbie

+1

Der Punkt eines Fremdschlüssels besteht darin, Daten wie diese konsistent zu halten. Korrigieren Sie die Daten, versuchen Sie nicht, den Grund für diesen Fremdschlüssel zu entfernen. –

Antwort

0

Überprüfen Sie die Tabelle hinzuzufügen, um zu sehen, welche Zeile (n) sind das Problem verursacht, dann werden Sie sie beheben müssen. Dies sollte helfen:

Wenn es keine Übereinstimmung gibt, verwenden Sie "0" für die ID oder einen anderen Dummy-Wert? Dies könnte sicherlich das Problem verursachen, wie Sie NULL in diesen Fällen verwenden sollten.

+0

Eigentlich habe ich nur diese Tabelle dbo.Product gekürzt, weil ich sie neu laden wollte, aber es gibt eine Fremdschlüsseleinschränkung für die Tabelle TRANS im ID-Feld, also dachte ich mir, den Fremdschlüssel fallenzulassen und ihn dann neu zu erstellen. – Newbie

Verwandte Themen