尝试更新子行时,外键没有默认值

时间:2019-05-23 08:40:54

标签: mysql foreign-keys auto-increment

我正在尝试创建有关客户的信息,其中两个表需要有两个新的信息记录。当我将数据插入带有主键的一个表中但另一个需要知道主键的编号时,它工作正常。为什么它不仅会自动更新?

这是为了使用IntelliJ中的Spring框架,使用Java和HTML以及在MySQL Workbench中与MySQL一起创建网站。

这是我的桌子:

CREATE TABLE nf3adresse
(
   adresse_ID       INT(10)         NOT NULL        PRIMARY KEY     AUTO_INCREMENT,
   postnummer       INT(4)          NOT NULL,
   bynavn           VARCHAR(45)     NOT NULL,
   adresse          VARCHAR(45)     NOT NULL
);

CREATE TABLE nf3kunde
(
   korekortnr       INT(8)          NOT NULL        PRIMARY KEY,
   adresse_ID       INT(10)         NOT NULL,       
   korekortudlob    DATE            NOT NULL,
   fornavn      VARCHAR(45)     NOT NULL,
   efternavn        VARCHAR(45)     NOT NULL,
   fodselsdato  DATE            NOT NULL,
   telefonnr        INT(8)          NOT NULL,
   datoOprettet DATE            NOT NULL,
   blacklist        TINYINT,
   CONSTRAINT nf3kunde_fk_nf3adresse
      FOREIGN KEY (adresse_ID) REFERENCES nf3adresse (adresse_ID)
);

这是我要创建两个包含有关客户信息的记录时的代码:

INSERT INTO `bauhaus`.`nf3adresse` (`postnummer`, `bynavn`, `adresse`) VALUES ('2300', 'København S', 'Kastrupvej 16');

INSERT INTO `bauhaus`.`nf3kunde` (`korekortnr`, `korekortudlob`, `fornavn`, `efternavn`, `fodselsdato`, `telefonnr`, `datoOprettet`, `blacklist`) VALUES ('74223867', '2021-04-08', 'John', 'Johnson', '1977-01-02', '32521049', '2019-05-23', '1');

我认为nf3kunde表会自动识别另一个表中的记录,并将其外键(adresse_ID)设置为nf3adresse(adresse_ID)中新创建的记录。 / p>

错误消息:

  

操作失败:将SQL脚本应用于数据库时出错。   执行中:   插入bauhausnf3kundekorekortnrkorekortudlobfornavnefternavnfodselsdatotelefonnrdatoOprettetblacklist)值('74223867','2021-04-08','John','Johnson','1977-01-02','32521049','2019-05 -23','1');

     

错误1364:1364:字段“ adresse_ID”没有默认值   SQL语句:   插入bauhausnf3kundekorekortnrkorekortudlobfornavnefternavnfodselsdatotelefonnrdatoOprettetblacklist)值('74223867','2021-04-08','John','Johnson','1977-01-02','32521049','2019-05 -23','1')

0 个答案:

没有答案