当我创建表时,外键约束没有任何问题。
当我加载数据infile时,我得到外键约束失败。
我检查了其列和参考列中的每个项目,发现所有值都匹配且没有差异。
我不知道导致错误的原因。请帮忙!
涉及的表格
create table department
(
dept_name varchar(30) not null,
icon_path varchar(50) not null,
constraint dept_pk primary key(dept_name)
);
create table product
(
product_id int not null,
product_description varchar(100) not null,
height decimal(6,2) not null,
width decimal(6,2) not null,
depth decimal(6,2) not null,
weight decimal(6,2) not null,
dept_name varchar(30) not null,
constraint product_pk primary key(product_id),
constraint product_fk foreign key(dept_name) references department(dept_name)
);
插入陈述
load data local infile 'd:\\department.txt' replace into table department
fields terminated by '\t' escaped by '\\' optionally enclosed by'"' ignore 1 lines;
load data local infile 'd:\\product.txt' into table product
fields terminated by '\t' optionally enclosed by'"' ignore 1 lines;
将数据本地infile'd:\\ product.txt'加载到由'\ t''包含'''忽略1行错误代码:1452所包围的表产品字段中。无法添加或更新子行:外键约束失败(project-phase2
。product
,CONSTRAINT product_fk
外键(dept_name
)参考department
(dept_name
))1.560秒
给出了逻辑设计关系,给出了txt文件。我不应该更改txt文件。 dept_name应该是一个外键。由于给出了txt文件,我应该按原样使用它们。但是,如果数据本身不匹配,我该如何实现外键约束?