FK 约束使用替换 table 的记录?

FK constraint using replaced table's records?

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


环境:IBMi 的 DB2

我有一个问题,外键约束不允许插入某些 do 在parent table.

历史:

我创建了一个 php 脚本来测试将一些记录上传到 child table,并意识到我的开发的 parent table 不可用日期并且没有满足 FK 约束所需的一些记录。

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

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

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

但是,当我尝试在 child table 中插入一条引用原始 table 中不存在的值的记录时,FK 约束会报错。

是否有某种 "refresh" 应该用来更新 FK 约束?

答案是它实际上仍然引用旧的table。 重命名绿屏中的 table 时,所有对 table 的引用都会在 table 中更新正在将其用作外键。

您必须删除旧的 FK 约束并创建一个指向正确 table 的新约束。