我正试图为孩子和家长创建一个数据库。桌子看起来像。
ChildTable:child-id(pk) x-id-id(Fk)\n.name ParentTable:父-id(Pk)\ name 外键ParentTable(父id)在删除级联上引用ChildTable(父-id)
问题:父表可以有多个子表,并且父表依赖于子表。问题。如果父母有两个孩子,而我们从ChildTable中删除一个子记录,那么它也会删除父记录,而另一个仍在数据库中的子记录必须存在父记录。
是否有其他MySQL方法/约束可以满足上述要求。
提前谢谢。
更新:我想详细解释我的问题。
我想将以下规则应用于数据库:
发布于 2012-07-20 08:01:23
您的外键应该反转:
FOREIGN KEY parent-id REFERENCES ParentTable(parent-id) ON DELETE CASCADE您希望子表引用父表中的主键。但是,使用级联删除时要小心:当删除父行时,会自动删除其子行。
删除一个子行时,父行不会发生任何变化。
UPDATE:您想要的只有使用触发器才能完成。您需要在AFTER DELETE上创建一个ChildTable触发器,以检查是否可以删除ParentTable中的一行。
https://stackoverflow.com/questions/11575197
复制相似问题