oracle - Oracle ORA-2291 未找到父键
问题描述
我用我的 Oracle 表解决了一个问题,但出现了另一个问题。它是 ORA-2291。我有两张桌子。第一张表:
ID - 编号,描述 - NVarchar(150),文件名 - NVarchar(150),二进制 - BLOB,缩略图 - BLOB,ORD - 编号,ID_ITEMS - 编号。
第二个表 - ID - 编号,名称 - NVarchar(60),Desc_term - NVArchar(200),ID_Description 编号
我在两个 id 上都设置了主键。我也做了前键..从 ID_ITEMS 到第二个表中的 ID。问题是,当我想将图像插入数据库时,它会显示 - ORA 02291。有什么提示吗?:/
解决方案
ORA-2291 未找到父键
-> 未找到父密钥意味着您在不存在父密钥的地方插入了密钥。使用您提供的少量信息,我猜您想在表 1 中插入一条记录,其值为X
column ID_ITEMS
。但是在外键链接的表中没有对应的元素,表 2。在表 2 中,您需要为X
每个ID_ITEMS
insert into table2 (ID)
values (1337);
insert into table1 (ID, ID_ITEMS)
values(12321(random id), 1337);
-->WORKS
insert into table1 (ID, ID_ITEMS)
values(12322(random id), 1338); -->Error ORA-2291 Parent key not found
insert into table2 (ID)
values (1338);
-->DOESNT WORK
您需要先插入父键,如错误消息中所述。
推荐阅读
- docker - docker-compose 推送不正确的图像大小
- python - Seaborn 为不存在的数据创建空轴占位符
- pandas - 为什么 pandas.DataFrame.apply 产生 Series 而不是 DataFrame
- raspberry-pi - 在 Raspberry Os (Debian) 中安装 Neovim 0.6 Prerelease
- python - 我如何使用 Pandas 从 Firebase 创建表
- java - java api响应中自动日期时间转换的原因可能是什么
- reactjs - 侧边栏不显示完整的菜单树
- java - Chromedriver 在 Teamcity 上无法执行,存在 linux-agent 问题
- php - Laravel 问题:为什么我的 foreach 循环在遍历数据库记录数组时返回意外输出
- python - 如何根据单元格中的值对 Pandas 中的出现次数求和