我正在尝试在SQL Compact数据库中创建外键但我不断收到错误消息“无法插入外键值,因为不存在相应的主键值。”
TableA已经引用了TableB,我正在尝试使用TableB中的相同主键从TableC创建引用。由于我已经引用了TableB,因此该表中必须有一个有效的主键。
我已经仔细检查并检查了所有字段的键和数据类型,所以我很难过。
我尝试在Visual Studio 2008中使用gui选项并使用SQL命令。
答案 0 :(得分:14)
这是因为你在表格中有“坏数据”。检查主表中是否包含所有相应的值。
DBMS检查参照完整性以确保数据库中数据的“正确性”。
例如: 如果表1 中的列 StatusId , 1到10 中的列 StatusId ,则表2 , 1到11 的值不能将 Table1 用作父项,因为中没有相应的值(11)表2 即可。