2
我正在尝试为子级和父级创建一个数据库。表看起来像。删除级联备用
ChildTable:孩子-ID(PK)| parent-id(fk)| 名
ParentTable:家长ID(PK)| 名
FOREIGN KEY ParentTable(父ID)参考文献ChildTable(父ID)ON DELETE CASCADE
问题:父母可以有一个以上的孩子和父表依赖于子表。如果家长有两个孩子,我们从儿童表中删除一个儿童记录,它将删除父母,同时父记录必须存在于其记录仍在数据库中的另一孩子。
是否有任何其他的MySQL方法/约束可以满足上述要求。
在此先感谢。
更新:我想详细解释我的问题。
我想下面的规则适用于数据库:
- 在父表中的记录必须始终依赖的子表中的任何一个或两个记录。 (对于相同的加入FK)
- 有可能是2个孩子可以指向相同的parentID
- 如果删除有一个孩子的parentID(说“ABC”),那么如果存在另一个父ID不能被删除具有相同parentID的孩子。
- 删除第二个具有相同parentID('abc')的孩子现在必须将其删除,因为没有具有parentID('abc')的孩子。
我试过你的解决方案,但phpMyAdmin给出了错误..我也希望父表是可靠的子表,如果我们逆向外键它会改变依赖关系,而我想删除父记录只有当没有孩子时。 – asachanfbd 2012-07-20 11:18:32
我更新了我的问题,并提供了更多的细节。希望能解释我的问题。我也搜查了MYSQL手册,但没有发现任何类似的东西。 – asachanfbd 2012-07-20 11:37:00