2016-04-25 112 views
1

我在LibraryDB中有两个表。一个是Book_Master,另一个是语言。我在Book_Master中使用了langid作为外键,并且想要在这两个表之间建立关系,但是出现错误。图片在描述中给出。帮助我程序员..!这里是图片Click to see imageSQL Server中两个表之间的关系

+0

列可以为空吗?列上是否有默认值?该列中可能已经有数据阻止外键检查成功 –

+0

是的,这很可能是因为有一些数据阻止了键的创建。当然,这主要是猜测,因为你没有提供任何类似于桌子细节的东西。 –

+1

您的Book_Master表中已经有数据。所以我假设它有一个LangID列,它是Languages表的外键。该列需要为空,并且LangID列中的任何数据都需要存在于语言表中。 –

回答

0

分析你的表格。

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

结果是Lang_ID在Book_master中不存在于语言(和块FK创建)中。

+0

Book_Master中的langid为0 –

+0

将'book_master'中的这些值设置为现有值或设置为null以创建FK –

+0

谢谢你这么多先生...我没有选中在Book_Master中的langid复选框,这是一个foriegn键......但是当我检查它并将langid更新为NULL ..然后关系创建....谢谢包 –