0
刪除父和子SQL從子刪除父/刪除整個樹中循環
表1(父表)
Id int
表2(關係表)
Id1 int FOREIGN KEY (Id1) REFERENCES Table1 (Id)
Id2 int FOREIGN KEY (Id2) REFERENCES Table1 (Id)
Id - Id1 one to one or one to zero relationship
Id - Id2 one to many
數據在表1
Id
1
2
3
4
5
6
7
8
9
10
在表中的數據2
Id1 Id2
2 1
3 1
4 2
5 2
6 4
7 4
8 5
9 5
所以,如同與根樹作爲1種
1 has two childs 2 and 3
2 has two childs 4 and 5
4 has two childs 6 and 7
5 has two childs 8 and 9
3,6,7,8,9,10 has no child
最佳可能的方式來實現後述的情況下:
刪除1 =>刪除完整表2和(表10除外1)表1
這個例子中的問題是小數據,真實數據有成千上萬像10行。 – Gokuh
真實數據具有數千棵樹和數千個獨立行。所有樹木都不需要刪除,有些樹木將被刪除,它不適用於大數據集。 對不起2條評論,我無法編輯以前的評論。 – Gokuh