gpt4 book ai didi

MySQL 无法添加或更新子行

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

我有两个表:tblACTypeCharacteristics 和 tblAircrafts。

tblACTypeCharacteristics 定义:

create table if not exists tblACTypeCharacteristics(
idAC_type varchar(255) not null,
numPassengers int,
primary key(idAC_type));

tblAircrafts 定义:

create table if not exists tblAircrafts(
idAC int not null auto_increment,
txtAC_tag varchar(255) not null,
txtAC_type varchar(255) not null,
primary key(idAC, txtAC_tag));

此外,我还添加了一个外键,如下所示:

alter table tblaircrafts add foreign key(txtAC_type) 
references tblactypecharacteristics(idAC_type);

在 tblACTypeCharacteristics 中,为每种类型的飞机定义了最大乘客数量。tblAircraft 中列出了所有可用的飞机。我可以通过键入以下内容来插入新飞机:

insert into tblaircrafts (txtAC_tag, txtAC_type) values ('OE-LDA','A319-112');

但是由于周围有很多飞机,我不想手动添加每一架。我想通过 csv 文件导入它们(我确实有一些飞机的列表)。我按如下方式导入它:

load data local infile 'C:\\Users\\t_lichtenberger\\Desktop\\tblAircrafts.csv'
into table tblaircrafts
character set utf8
fields terminated by ';'
lines terminated by '\n'
ignore 1 lines;

但是当我想将 .csv 文件导入到 tblaircraft 表中时,出现以下错误:

15:08:37    alter table tblaircrafts  add foreign key(txtAC_type) references tblactypecharacteristics(idAC_type)    Error Code: 1452. Cannot add or update a child row: a foreign key constraint fails (`pilotproject`.`#sql-11d0_2da`, CONSTRAINT `#sql-11d0_2da_ibfk_1` FOREIGN KEY (`txtAC_type`) REFERENCES `tblactypecharacteristics` (`idAC_type`))   0.641 sec

我无法解释原因。列数相同,列的数据类型也相同。我已经仔细检查了 csv 中的 AC_types,它不在 tblACTypeCharacteristic 表中,它应该很好..

csv 文件的前几行如下所示:

first few lines of the aircraft csv

有什么建议为什么错误仍然发生吗?提前非常感谢您!

最佳答案

终于找到解决办法了。我刚刚通过执行禁用了外键检查

SET foreign_key_checks = 0;

在设置外键之前,它起作用了!之后我就可以添加 csv 记录。

关于MySQL 无法添加或更新子行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43347729/

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