在另一个表上删除后删除一行?

时间:2014-10-20 09:44:54

标签: mysql triggers delete-row

我有两张桌子。

Table_A持有学生证(PK)及其姓名 Table_B持有学生的身份证(PK)(来自Table_A的FK)及其地址。

我想创建一个触发器,如果​​学生从Table_A删除,则会从Table_B删除该学生。

到目前为止我所拥有的:

DELIMITER //
    CREATE TRIGGER del_student
    AFTER DELETE ON Table_B
    FOR EACH ROW
    BEGIN
        DELETE Table_B
        FROM Table_A, Table_B
        WHERE Table_A.ID = Table_B.ID;
    END//
DELIMITER ;

目前这不符合预期。如何从Table_B指向最近删除的行,以便从Table_A删除正确的行?谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

在上面的评论中,有些人会去Abhik Chakraborty。

DELIMITER //
    CREATE TRIGGER del_student
    AFTER DELETE ON Table_B
    FOR EACH ROW
    BEGIN
        DELETE FROM Table_A
        WHERE old.ID = Table_A.ID;
    END//
DELIMITER ;