我有4個sql表。有關外鍵和刪除級聯的Mysql問題
create table general(regno int NOT NULL primary key);
create table company_information(cregno int NOT NULL primary key);
create table company_jobs (jcode int NOT NULL primary key, cregno int , foreign key(cregno) references company_information(cregno));
create table applied(cregno int ,jcode int, regno int, foreign key(regno) references general(regno), foreign key(jcode) references company_jobs(jcode));
我需要做的就是從表格company_jobs中刪除表格應用有一定的價值。實際上,從表格結構中可以看出,所有表格都必須具有適用於表格的某些值。 我用這些命令來添加ON DELETE CASCADE約束:
alter table company_jobs add constraint fk_cregno13 foreign key(cregno) references company_information (cregno) on delete cascade;
alter table applied add constraint fk_jcode16 foreign key(jcode) references company_jobs(jcode) on delete cascade;
alter table applied add constraint fk_regno14 foreign key(regno) references general(regno) on delete cascade;
但它不是不幸工作,我收到的時候我給下面的命令此錯誤。
mysql> delete from company_jobs;
ERROR 1451(23000):無法刪除或更新父行,外 鍵constrai NT失敗(
test
applied
,約束applied_ibfk_2
外鍵(jcode
)RE FERENCEScompany_jobs
(jcode
))
請幫助我,如果任何人都可以。謝謝
這工作。謝謝 –