Я пытаюсь создать информацию о клиенте, где в двух таблицах должны быть две новые записи информации. Это прекрасно работает, когда я вставляю данные в одну таблицу с первичным ключом, но другой необходимо знать номер первичного ключа. Почему он не просто автоматически обновляется?
Это для создания веб-сайта с использованием среды 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 ')