1

我有一个包含三列(KEY、personID、personID)的兄弟姐妹表

这里作为一个例子:

0|1|2
1|2|3
2|1|4
3|4|5
4|1|6
5|5|7

请注意,所有 ID 为 1 到 5 的人都是兄弟姐妹。

现在,在确保(在所有情况下)所有其他兄弟姐妹保持兄弟姐妹身份的同时,删除一个兄弟姐妹的最佳方法是什么。

一个棘手的案例是删除兄弟姐妹ID=4. 如果仅使用 SQL 无法做到这一点,那么最好的方法是使用 PHP + MySQL 来做到这一点。

我想出的代码很长而且看起来效率很低。如果有人有任何其他想法,我很想听听。

4

1 回答 1

1

您当前布局的问题是您基本上有几个节点(人)和它们之间的一些联系。这些债券伴随着隐含的推论,即“如果 A 与 B,B 与 C,那么 A 与 C”,这对关系数据库不起作用。

理想情况下,您需要两个方向的所有键。然后,您可以根据需要安全地删除人员。

于 2013-01-11T08:32:23.700 回答