当试图插入表时,完整性约束违反错误



我需要一双新的眼睛来帮助我了解我在这里做错了什么!

我创建了这些表:

CREATE TABLE bankkund(
PNR VARCHAR2(11) PRIMARY KEY,
FNAMN  VARCHAR2(25) NOT NULL,
ENAMN VARCHAR2(25) NOT NULL,    
PASSWD VARCHAR2(16) NOT NULL,
UNIQUE(PASSWD));
CREATE TABLE konto(
KNR NUMBER(8)PRIMARY KEY,
KTNR NUMBER(6)NOT NULL,
REGDATUM DATE NOT NULL,
SALDO NUMBER(10,2),
FOREIGN KEY(ktnr) REFERENCES kontotyp(ktnr));

CREATE TABLE kontoägare(
RADNR NUMBER(9)PRIMARY KEY,
PNR VARCHAR2(11)NOT NULL,
KNR NUMBER(8)NOT NULL,
FOREIGN KEY(pnr) REFERENCES bankkund(pnr),
FOREIGN KEY(knr) REFERENCES konto(knr));

然后这个顺序:

create sequence radnr_seq
start with 1
increment by 1;

,然后每当我想插入以下值,我得到一个完整性约束错误:

INSERT INTO kontoägare(radnr,pnr,knr)
VALUES(radnr_seq.NEXTVAL,'540126-1111',123);
INSERT INTO kontoägare(radnr,pnr,knr)
VALUES(radnr_seq.NEXTVAL,'691124-4478',123);
INSERT INTO kontoägare(radnr,pnr,knr)
VALUES(radnr_seq.NEXTVAL,'540126-1111',5899);
INSERT INTO kontoägare(radnr,pnr,knr)
VALUES(radnr_seq.NEXTVAL,'691124-4478',8896);
COMMIT;

我错过了什么??

您看到的错误是意料之中的。表"kontoagare"有两个外键:FOREIGN KEY(pnr) REFERENCES bankkund(pnr)FOREIGN KEY(knr) REFERENCES konto(knr))。这意味着" pn& quot;的值需要存在于表bankkund"以及"knr"的值需要存在于"konto"中。如果在执行插入时不存在这些值中的任何一个,则会引发完整性约束错误。

相关内容

最新更新