使用外键从各种表中删除

时间:2019-05-06 15:30:43

标签: mysql foreign-keys

我在前端代码中有一个表格,其中显示了一系列练习,每个练习旁边都有一个按钮,可以取消该练习。问题是我的练习表与其他表相关:

CREATE TABLE exercises (
    exercise_id INT,
    PRIMARY KEY(exercise_id)
);

CREATE TABLE ex_tag(
    exercise_id_fk INT,
    tag_id_fk INT,
    FOREIGN KEY(exercise_id_fk) REFERENCES exercises(exercise_id),
    FOREIGN KEY(tag_id_fk) REFERENCES tags(tag_id)
);

CREATE TABLE solution(
    exercise_id_fk INT,
    solution_number INT,
    FOREIGN KEY(exercise_id_fk) REFERENCES exercises(exercise_id)
);

有时,会在下表中创建一个条目。如果回答了练习,则将创建它,否则,将不会创建。

CREATE TABLE answers(
    exercise_id_fk INT,
    student_id INT,
    FOREIGN KEY(exercise_id_fk) REFERENCES exercises(exercise_id)
);

如果表“ 运动”与任何表都没有关系,则此查询将起作用:

DELETE FROM exercises WHERE exercise_id=$id

如何更改查询,以使可以通过此单个运动编号从所有需要的表中删除所选运动?

0 个答案:

没有答案