- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
世界!
当我在多对多关系中级联删除记录时,我遇到了孤儿。这是我的 sql 代码(对于 mysql):
DROP TABLE IF EXISTS skTable;
DROP TABLE IF EXISTS studentTable;
DROP TABLE IF EXISTS kTable;
DROP TABLE IF EXISTS classTable;
create table if not exists classTable (id int primary key) ENGINE=INNODB;
insert into classTable values(1);
insert into classTable values(2);
create table if not exists studentTable (id int primary key, classID int, CONSTRAINT FOREIGN KEY (classID) REFERENCES classTable(id) ON DELETE CASCADE) ENGINE=INNODB;
insert into studentTable values(1, 1);
insert into studentTable values(2, 2);
create table if not exists kTable (id int primary key) ENGINE=INNODB;
insert into kTable values(1);
insert into kTable values(2);
insert into kTable values(3);
create table if not exists skTable (id int primary key, studentID int, CONSTRAINT FOREIGN KEY(studentID) REFERENCES studentTable(id) on delete cascade, kID int, CONSTRAINT FOREIGN KEY(kID) REFERENCES kTable(id) on delete cascade) ENGINE=INNODB;
insert into skTable values(1,1,1);
insert into skTable values(2,2,2);
insert into skTable values(3,2,3);
insert into skTable values(4,1,2);
DELETE FROM classTable WHERE id=2;
我的期望是获得这些记录:
类表,1条记录:
id=1
学生表,1条记录:
id=1, classID=1
kTable,2条记录:
id=1
id=2
sk表,2条记录:
id=1, studentID=1, kID=1
id=4, studentID=1, kID=2
问题是最后kTable有多余的记录
id=3
这是孤儿。
有什么想法吗?谢谢。升
最佳答案
在您的示例中,skTable
是 studentTable
和 kTable
的子项。 studentTable
是 classTable
的子项。对于外键ON DELETE CASCADE,如果您在父表中删除,则子表数据将被删除。但反之亦然是不可能的。这就是为什么,当您删除 classTable
中的数据时,studentTable
数据也会被删除,并且由于 studentTable
、skTable
中的数据被删除code> 数据被删除,但 kTable
数据未被删除。
关于mysql多对多删除级联留下孤儿,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37968136/
我四处寻找是否有任何合适的方法来处理 CSS3 多列中的寡妇和孤儿,但很失望地发现没有。我自己尝试了 widow 和 orphan 属性,但它们什么也没做。 有人知道使用 CSS3 多列并处理寡妇和孤
从 Blobstore 中删除孤立 blob 的最有效方法是什么? 应用功能和范围: 一个(已登录)用户想要创建一个包含一些常规内容的帖子数据存储区字段(例如姓名、姓氏、评论)和 blob(图像)。
从 Blobstore 中删除孤立 blob 的最有效方法是什么? 应用功能和范围: 一个(已登录)用户想要创建一个包含一些常规内容的帖子数据存储区字段(例如姓名、姓氏、评论)和 blob(图像)。
我可以使用哪种级联类型以及在何处让 Hibernate 在不再有“事物”引用图像时自动删除该图像? (基本上就是 Hibernate 中的垃圾收集) 数据库:事物表-图像表,是多对一的,所以很多事物可
我是一名优秀的程序员,十分优秀!