外键无法识别父键

时间:2019-08-21 20:48:16

标签: plsql

我正在尝试在表中插入值,但这是说即使填充了父键也找不到。具体来说,指向Savings_acc主键的外键为account_num。我不确定问题是否在于account_num是两个单独表中的主键。

CREATE TABLE HAS_ACC
(
customer_num        char(10)          NOT NULL,
account_type        char(10)             NOT NULL,
account_num         char(10)             NOT NULL,

CONSTRAINT has_acc_pk
PRIMARY KEY (customer_num,account_type,account_num),

CONSTRAINT customers_fk
FOREIGN KEY (customer_num) REFERENCES customers(customer_num),

CONSTRAINT accounts1_fk
FOREIGN KEY (account_num) REFERENCES CHECKING_ACC(account_num),

CONSTRAINT accounts2_fk
FOREIGN KEY (account_num) REFERENCES SAVINGS_ACC(account_num)

);

账户数 S1234 B1234-19-AUG-19 100 0.05 S1235 B1235-19年8月21日100 0.05 S1236 B1236-19年8月21日100 0.05 S1237 B1237-19年8月21日100 0.05 S1238 B1238-19-八月19 100 0.05

错误:

插入HAS_ACC值(customer_num(i),account_type(i),account_num(i)); 结束; 错误报告 - ORA-02291:完整性约束(MLONERGA.ACCOUNTS2_FK)已违反-未找到父密钥 ORA-06512:第45行 02291. 00000-“违反完整性约束(%s。%s)-找不到父键” *原因:外键值没有匹配的主键值。 *操作:删除外键或添加匹配的主键。

0 个答案:

没有答案