MySQL ON DELETE CASCADE已设置,但不会从其他表中删除行

时间:2019-06-04 10:36:42

标签: mysql sql sql-delete delete-row cascade

在我的数据库中,有3个重要的表:Jobs,Login和Staff。作业充当链接表,同时包含LoginID和StaffID。我已经通过PHPMyAdmin设置了级联,如下所示: enter image description here

但是,当我从Jobs表中删除一行时,它仅从Jobs表中删除,而不从Jobs和Login表中的相应行中删除。这是什么原因呢?谢谢。

1 个答案:

答案 0 :(得分:1)

级联则相反。当您在Jobs表中说到登录名和人员并想要级联删除时,这意味着当您在 login staff 中删除项目时,删除将级联 to 作业表,并且在 login staff 中引用该行的所有行也将被删除。

因此,在您的情况下,工作是子表,而登录名/工作人员是父母。您不能从工作级到登录级和人员级,因为那会从孩子到父母。