我有一个包含三列(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做到最好的方法是什么呢。
我提出的代码很长,效率似乎很低。如果有人有任何其他想法,我很乐意听到。
答案 0 :(得分:1)
您当前布局的问题在于您基本上有几个节点(人)和它们之间的一些连接。这些债券带有隐式推论“如果A带有B和B带有C,那么带有C的A”,这对于关系数据库不起作用。
理想情况下,您需要双向的所有债券。然后,您可以根据需要安全地删除人员。