[编辑:已解决。如果您认为这个问题不值得保留,请发表评论,我将其删除。否则,谁知道,这可能对其他人有用。]
环境:DB2 for IBMi
我遇到一个问题,即外键约束不允许某些 做 在父表中具有匹配键的记录插入。
历史:
我创建了一个php脚本来测试将一些记录上传到子表的过程,并意识到我开发的父表已经过时,并且没有满足FK约束所需的一些记录。
因此,使用绿屏,我将生产对象复制到开发服务器。我使用RSTOBJ
将其放入开发机器上的库中,然后使用COPYF
将其复制到生产库的相应开发版本中。 (我首先重命名了现有对象)。
新表的名称和系统名称与旧表相同。
据我所知,父表现在具有满足FK约束的所有必需行。我运行查询以验证是否存在必要的行。 它们存在。
但是,当我尝试在子表中插入引用原始表中没有的值的记录时,FK约束会抱怨。
是否应该进行某种“刷新”以更新FK约束?
答案 0 :(得分:1)
答案是实际上 仍在引用旧表。在绿屏中 对该表进行重命名 时,会将表中的所有引用用作外键来更新表中的
。您必须删除旧的FK约束,并新建一个指向正确的表。