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

标签 mysql sql sql-delete delete-row cascade

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

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

最佳答案

级联则相反。当您在作业表中说它指的是登录名和员工并希望级联删除时,这意味着当您删除登录名员工中的项目时,删除将级联>into jobs 表以及在 loginstaff 中引用该行的所有行也将被删除。

所以在你的例子中,jobs是子表,而login/staff是父表。您无法从作业级联到登录名和员工,因为这会从子级传递到父级。

关于MySQL ON DELETE CASCADE 设置但不从其他表中删除行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56442195/

相关文章:

sql - 列的创建和使用

sql - 使用/JOIN 查询更快地删除

mysql - 删除Cascade而不改变表结构

php - 我如何获得这种闪电般的快速搜索?

php - mysql更新多列一行单语句与多语句

sql - sp_send_dbmail 中的局部变量?

sql - 找出运行缓慢的存储过程

mysql - 我想要一个触发器从 MySQL 中的 2 个表中删除

php - 在 php 中按下按钮时选择特定的 id

php - SQL 保留关键字在从文本文件导入数据时导致错误