gpt4 book ai didi

MySQL Workbench : Error Code 1452. 无法添加或更新子行:外键约束失败

转载 作者:行者123 更新时间:2023-11-29 19:14:24 25 4
gpt4 key购买 nike

我对 SQL 还很陌生。我正在更新数据库,并且看到了这条消息。问题是,我之前已经执行过这个插入,但由于我输入相同的地址 3 次而不是一次,所以不得不删除它。

任何人都可以帮助我,我不明白出了什么问题:

> insert into ort  
(plz, name) values
('4900', 'Langenthal')
;

>insert into adresse
(strasse, strassennr, ortID) values
('Eisenbahnstrasse', '7', (select oid from ort where name = 'Langenthal' and plz='4900'))
;
>
insert into liegenschaft
(liegenschafttypid, adressid) values
((select ltypid from liegenschaft_typ where name = 'Wohnhaus / Firma'), (select oid from ort where name = 'Langenthal' and plz = '4900'))
;

我不断收到此消息:

> 0 16  14:09:25    insert into liegenschaft   (liegenschafttypid, adressid) values
((select ltypid from liegenschaft_typ where name = 'Wohnhaus / Firma'), (select oid from ort where name = 'Langenthal' and plz = '4900')) Error Code: 1452. Cannot add or update a child row: a foreign key constraint fails (`parking`.`liegenschaft`, CONSTRAINT `FK_adresse` FOREIGN KEY (`adressID`) REFERENCES `adresse` (`AID`)) 0.015 sec

最佳答案

adresse.AID 列中没有您想要插入的 liegenschaft.adressid 条目。

您在外键、插入中指定了错误的列,或者您忘记将数据插入该列。

您需要执行以下操作之一:

insert into adresse
(strasse, strassennr, AID) values
('Eisenbahnstrasse', '7', (select oid from ort where name = 'Langenthal' and plz='4900'));

insert into adresse
(strasse, strassennr, ortID, AID) values
('Eisenbahnstrasse', '7', (select oid from ort where name = 'Langenthal' and plz='4900'), (select oid from ort where name = 'Langenthal' and plz='4900'));

或更改该外键以指向 ortID 而不是 AID

关于MySQL Workbench : Error Code 1452. 无法添加或更新子行:外键约束失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42835210/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com