如何在这个senario中使用级联删除?

nc1teljy  于 2021-07-26  发布在  Java
关注(0)|答案(1)|浏览(300)

所以我有三个表,申请人,空缺和一个链接表。我想在职位空缺被删除时删除申请人的资料。这是我目前的sql代码,这会删除申请人吗?

CREATE TABLE Applicant(
  ID INT PRIMARY KEY,
  name varchar(20),
  address varchar(20),
  VacancyID INT,
  FOREIGN KEY (VacancyID) REFERENCES Vacancy(ID) ON DELETE CASCADE);

CREATE TABLE AppVac(
             ApplicantID INT PRIMARY KEY,
             VacancyID INT PRIMARY KEY,
             FOREIGN KEY (ApplicantID) REFERENCES Applicant(ID),
             FOREIGN KEY (VacancyID) REFERENCES Vacancy(ID);

CREATE TABLE Vacancy(
             ID INT PRIMARY KEY,
             .....
aamkag61

aamkag611#

不,是的 ApplicantVacancy . 删除的是中所有相应的行 AppVac .
如果你想要求申请者至少有一行 AppVac ,则需要表上的delete触发器。级联外键不能为您做到这一点。也就是说,级联从引用表中删除delete,而不是从引用表中删除delete。

相关问题