插入数据时与外键约束冲突



这些是我的表,它们是创建的,但当我在AMI表中插入数据时,会出现外键冲突错误。我知道在插入子表之前,父表应该具有该值。在这里,我的AMI表依赖于household_incomelocation,并且两者都有数据。所以为什么我会得到错误:

Insert into AMI values('CONTROL','ZIP','PER','L30','L50','L80');

Msg 547,Level 16,State 0,Line 1 INSERT语句与>FOREIGN KEY约束"FK__AMI_7908F585"冲突。冲突发生在数据库>"mydatabase_old",表"dbo.household_income"中。语句已终止。

create table admin
(control   varchar(15), 
status     varchar(3),
weight     float(24),
metro3     varchar(3),
PRIMARY KEY (control)
);

create table AMI 
(control varchar(15),
zip    varchar(8),
per     VARCHAR(15),
L30         int,
L50         int,
L80         int,
PRIMARY KEY(zip, per),
foreign key (zip, control) references location on delete cascade,
foreign key (per, control) references household_income ON UPDATE NO ACTION
);

create table location
(region varchar(5),
control   varchar(15),
zip    varchar(8),
PRIMARY KEY(zip, control),
foreign key (control) references admin on delete cascade
);

create table household_income
(control   varchar(15),
age1    int,
per    varchar(15),
ownrent     varchar(3),
totalsal    float(24),
zinc2       float(24),
type        varchar(15), 
PRIMARY KEY(control, per),
foreign key (control) references admin on delete cascade,
foreign key (type, control) references structure ON UPDATE NO ACTION,
);

首先需要插入位置表

然后进入household_income

然后插入

Insert into AMI values('CONTROL','ZIP','PER','L30','L50','L80');

最新更新