我有一张看起来像这样的表
Car ID Car Name Part ID Stock ID
___________________________________________________
1 Audi 1 1
2 Benz 2 2
3 Corsa 1.3 3 3
4 Corsa 2.0 3 4
现在,如果我要删除Corsa 1.3
,则会显示Foreign key constraint
部件ID。由于部件ID,它无法删除它。
我该如何解决这个问题?
答案 0 :(得分:0)
您无法删除引用外键的指针;这就是他们的全部观点。
您需要做的是删除密钥引用的记录或删除约束。
答案 1 :(得分:0)
您应该将其抱怨的字段设置为null,之后删除将成功。在您尝试删除corsa 1.3之前,请将其部件ID设置为null,从而删除引用。
答案 2 :(得分:0)
答案 3 :(得分:0)
在创建表时指定了约束,该表指示在更新和删除时如何处理主键和外键,您可以指定更新时级联和/或删除或不存在哪个是您的问题
create table Orgs (
id bigint unsigned auto_increment,
name varchar(100) not null,
primary key (id),
unique index name_ind (name)
) engine=InnoDB;
create table Households (
id bigint unsigned,
Orgid bigint unsigned,
household varchar(20) not null,
primary key (id),
index org_ind (Orgid),
foreign key (Orgid) references Orgs(id) on update cascade on delete cascade
) engine=InnoDB;