2009-09-20 86 views
9

我想在SQL Compact数据库中创建一个外键,但我不断收到错误消息“外键值无法插入,因为相应的主键值不存在。”SQL Compact(CE)与创建外键问题

TableA已经引用了TableB,我试图使用TableB中的相同主键从T​​ableC创建引用。由于我已经有了TableB的引用,所以在该表中必须有一个有效的主键。

我已经双重检查和tripple检查所有领域的键和数据类型,所以我难倒了。

我试过在Visual Studio 2008中使用两个gui选项并使用SQL命令。

回答

14

这是因为您在表中存在“不良数据”。检查主表中是否有所有相应的值。

DBMS检查参照完整性以确保数据库内数据的“正确性”。

例如: 如果列表1 StatusId与值从1至10和列StatusId表2与值从1至11不能使用表1作为父母,因为没有对应的值(11)您已经在表2

+4

愚蠢的我不检查数据当然。我清除了引用表,它工作得很好。谢谢! – 2009-09-21 06:19:51