将数据插入数据库时​​出错

时间:2019-05-07 15:00:52

标签: postgresql

对于学校,我们需要创建一个数据库。我编写了代码来创建数据库,但是在向其中插入数据时遇到了问题。我总是遇到同样的错误。

  

错误:在表“ gebruikers”上插入或更新违反了外键约束“ fk_gebruikers_afspeellijsten”   详细信息:表“ afspeellijsten”中不存在键(userid)=(1)。   SQL状态:23503

我创建了像这样的“ gebruikers”和“ afspeellijsten”表:

CREATE SCHEMA GROEP10;
CREATE TABLE GROEP10.Gebruikers
(
        userID          INTEGER         PRIMARY KEY,
    name            VARCHAR(45)     NOT NULL,
    wachtwoord      VARCHAR(45)     NOT NULL,
    mail            VARCHAR(45)     UNIQUE  NOT NULL,
    birthDate       DATE            NULL,
    CONSTRAINT fk_Gebruikers_Afspeellijsten FOREIGN KEY ( userID ) REFERENCES GROEP10.Afspeellijsten (userID)
);

CREATE TABLE GROEP10.Afspeellijsten
(
    afspeellijstID  INTEGER         PRIMARY KEY,
    name            VARCHAR(45)     NOT NULL,
    creationDate    DATE            NOT NULL,
    userID          INTEGER         NOT NULL,
    CONSTRAINT fk_Afspeellijsten_Gebruikers UNIQUE ( userID ),
    CONSTRAINT fk_Afspeellijsten_AfspeellijstHasSingle FOREIGN KEY ( afspeellijstID ) REFERENCES GROEP10.AfspeellijstHasSingle ( afspeellijstID )
);

我尝试像这样将数据插入gebruikers:

INSERT INTO gebruikers
VALUES (
    1,
    'Jonas',
    'OK',
    'ZZZ@hotmail.com',
    '03/03/2000'
);

1 个答案:

答案 0 :(得分:0)

在表Gebruikers中,您有一个用于userID外键约束

CONSTRAINT fk_Gebruikers_Afspeellijsten FOREIGN KEY ( userID ) 
   REFERENCES GROEP10.Afspeellijsten (userID)

这意味着在插入Gebruikers之前,必须在userID = 1中创建Afspeellijsten