sql - ORA-02291 完整性约束
问题描述
我已经尝试了所有方法,但插入数据时仍然出错。
create table Address(
AddressID integer primary key,
StreetnameID integer,
CountyID integer,
CityID integer,
PostcodeID integer,
DoornumID integer,
foreign key (StreetnameID) references Streetname,
foreign key (CountyID) references County,
foreign key (CityID) references City,
foreign key (PostcodeID) references Postcode,
foreign key (DoornumID) references Doornum
);
这是我的地址创建表。下面是我失败的插入语句。
INSERT INTO Address(AddressID, StreetnameID, CountyID, CityID, PostcodeID, DoornumID)
values(seq_AddressID.nextval, 1, 1, 1, 1, 1)
我不知道是什么导致这个问题产生这个错误:
ORA-02291: integrity constraint (ROOT.SYS_C007211) violated - parent key not found
解决方案
外键引用之一不存在。它们都必须存在。如果您命名约束,这将更容易弄清楚:
create table Address (
AddressID integer primary key,
StreetnameID integer,
CountyID integer,
CityID integer,
PostcodeID integer,
DoornumID integer,
constraint fk_address_StreetnameID foreign key (StreetnameID) references Streetname,
constraint fk_address_CountyID foreign key (CountyID) references County,
constraint fk_address_CityID foreign key (CityID) references City,
constraint fk_address_PostcodeID foreign key (PostcodeID) references Postcode,
constraint fk_address_DoornumID foreign key (DoornumID) references Doornum
);
该约束要求引用表中存在相应的行,然后才能将这些行插入address
.
推荐阅读
- python - 如何使用我的二次方程程序绘制抛物线?
- tree - 使用 7-2+3 后缀表示法的翻译方案的可能树
- python - PySpark join 返回一个空字典而不是 None
- javascript - 在嵌套数组中查找值
- ios - 在另一个 tableViewController 的子视图中添加一个新的 TableView
- java - 如何修复 Gradle Build 中的“无法处理 kafka-clients-1.1.1.jar”错误
- assembly - 如何在此汇编代码中找到错误?
- html - 视频无法在 iPhone 上播放
- dart - 如何裁剪小部件,或切出特定大小的小部件的正方形部分?
- mysql - 修改后的 DB_TRX_ID 隐藏字段是否会比它使用的要小?