这些是我的表,它们是创建的,但当我在AMI
表中插入数据时,会出现外键冲突错误。我知道在插入子表之前,父表应该具有该值。在这里,我的AMI表依赖于household_income
和location
,并且两者都有数据。所以为什么我会得到错误:
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');