我有一个简单的表格:
-- Create table
create table FAVOURITE_RULES
( rule_id NUMBER(9) not null,
user_id NUMBER(9) not null);
-- Create/Recreate primary, unique and foreign key constraints
alter table FAVOURITE_RULES
add constraint FAV_RULES_PK primary key (RULE_ID, USER_ID)
alter table FAVOURITE_RULES
add constraint FAV_RULES_RULE_ID_FK foreign key (RULE_ID)
references RULES (RULE_ID) on delete cascade;
alter table FAVOURITE_RULES
add constraint FAV_RULES_USER_ID foreign key (USER_ID)
references USER_AUTHENTICATION (USER_ID) on delete cascade;
我有一条规则(来自.Net代码)原始表RULES中不存在。它的Id = -999
当我尝试插入FAVOURITE_RULES时,我收到有关违反完整性约束违规(如预期)(FAV_RULES_RULE_ID_FK)的错误 - 未找到父键。
我可以保留外键(FAV_RULES_RULE_ID_FK)并仅允许插入此值(-999)吗?
答案 0 :(得分:1)
可能会有所帮助。
第1步:删除fk约束 第2步:插入违规行 第3步:再次使用ENABLE NOVALIDATE创建fk约束