Внешний ключ не имеет значения по умолчанию при попытке обновить дочернюю строку - PullRequest
0 голосов
/ 23 мая 2019

Я пытаюсь создать информацию о клиенте, где в двух таблицах должны быть две новые записи информации. Это прекрасно работает, когда я вставляю данные в одну таблицу с первичным ключом, но другой необходимо знать номер первичного ключа. Почему он не просто автоматически обновляется?

Это для создания веб-сайта с использованием среды Spring в IntelliJ, с использованием Java и HTML и совместной работы с MySQL в MySQL Workbench.

Вот мои таблицы:

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).

Сообщение об ошибке:

Операция не выполнена: при применении сценария SQL к базе данных произошла ошибка. Выполнение: INSERT INTO bauhaus. nf3kunde (korekortnr, korekortudlob, fornavn, efternavn, fodselsdato, telefonnr, datoOprettet, blacklist) VALUES ('74223867', '2021 -04-08 ',' Джон ',' Джонсон ',' 1977-01-02 ',' 32521049 ',' 2019-05-23 ',' 1 ');

ОШИБКА 1364: 1364: поле 'adresse_ID' не имеет значения по умолчанию Оператор SQL: INSERT INTO bauhaus. nf3kunde (korekortnr, korekortudlob, fornavn, efternavn, fodselsdato, telefonnr, datoOprettet, blacklist) VALUES ('74223867', '2021 -04-08 ',' Джон ',' Джонсон ',' 1977-01-02 ',' 32521049 ',' 2019-05-23 ',' 1 ')

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...