2016-04-25 14 views
1

Ich habe zwei Tabellen in LibraryDB. Einer ist Book_Master und der andere ist Sprachen. Ich habe langid in Book_Master als Fremdschlüssel verwendet und möchte eine Beziehung zwischen diesen beiden Tabellen herstellen, aber ich habe einen Fehler. Bild ist in der Beschreibung angegeben. Hilf mir Programmierer .. !! Hier ist das Bild Click to see imageBeziehung zwischen zwei Tabellen in SQL Server

+0

Ist die Spalte nullfähig? Gibt es einen Standardwert für die Spalte? Möglicherweise befinden sich bereits Daten in dieser Spalte, die verhindern, dass die Überprüfung des Fremdschlüssels erfolgreich ist –

+0

Ja, das liegt höchstwahrscheinlich daran, dass Daten vorhanden sind, die verhindern, dass der Schlüssel erstellt wird. Das ist natürlich rätselhaft, weil Sie nicht viel von Details über Ihre Tische haben. –

+1

Ihre Tabelle Book_Master enthält bereits Daten. Also nehme ich an, dass es eine LangID-Spalte hat, die der Fremdschlüssel für die Tabelle "Sprachen" ist. Diese Spalte muss nullwertfähig sein, und alle Daten in der Spalte "LangID" müssen bereits in der Tabelle "Sprachen" vorhanden sein. –

Antwort

0

Analysieren Sie Ihre Tabellen.

select b.LangID 
from book_master b 
left join Languages L on b.LangID = L.LangID 
where L.LangID is null 

Das Ergebnis ist LangID ist in Book_master die in Sprachen nicht vorhanden sind (und blockieren Schaffung FK).

+0

Die langid in Book_Master ist 0 –

+0

Setzen Sie diese Werte in 'book_master' auf vorhandene Werte oder auf' null' zu erstellen FK –

+0

Vielen Dank Sir ... Ich habe die Checkbox von Langid in Book_Master deaktiviert, die ein Foreign Key war .. aber wenn ich es überprüft und die Langid auf NULL aktualisieren .. Dann schafft Beziehung .... Bundle des Dankes –

Verwandte Themen