FK约束使用替换表的记录吗?

问题描述 投票:0回答:1

[编辑:已解决。如果您认为这个问题不值得保留,请发表评论,我将其删除。否则,谁知道,这可能对其他人有用。]


环境:DB2 for IBMi

我有一个问题,即外键约束不允许某些记录插入,这些记录在父表中do具有匹配的键。

历史:

我创建了一个php脚本来测试将一些记录上传到子表中,并意识到我开发的父表已过期,并且没有满足FK约束所需的一些记录。

因此,使用绿屏,我将生产对象复制到开发服务器。我使用RSTOBJ将其放入开发机器上的库中,然后使用COPYF将其复制到生产库的相应开发版本中。 (我首先重命名了现有对象)。

新表的名称和系统名称与旧表相同。

据我所知,父表现在具有满足FK约束的所有必需行。我运行查询以验证是否存在必要的行。 它们存在。

但是,当我尝试在子表中插入引用原始表中没有的值的记录时,FK约束会抱怨。

是否应该进行某种“刷新”以更新FK约束?

db2 referential-integrity
1个回答
0
投票

答案是它实际上was仍在引用旧表。绿屏中的遍历表时,表中的所有引用都将其用作外键在表中进行更新。

您必须删除旧的FK约束,并重新指向正确的表。

© www.soinside.com 2019 - 2024. All rights reserved.