आपको बस यह सुनिश्चित करने की ज़रूरत है कि आपने ON DELETE CASCASDE
के साथ चाइल्ड रो से उसके पैरेंट के लिए एक विदेशी कुंजी सेट की है। विदेशी कुंजी पर सेट विकल्प। यह एक स्व-संदर्भ तालिका के समान ही अच्छी तरह से काम करता है क्योंकि यह अलग-अलग तालिकाओं में संदर्भों के लिए करता है। पेड़ को हटाने के लिए, बस मूल नोड को हटा दें। सभी चाइल्ड पंक्तियों को सरसरी तौर पर हटा दिया जाएगा।
जैसे दिया गया:
CREATE TABLE MyTable
(
ID INT NOT NULL PRIMARY KEY,
ParentID INT NULL,
CONSTRAINT FK_MT_Parent FOREIGN KEY (ParentID) REFERENCES MyTable(ID) ON DELETE CASCADE
);
-- And inserting two trees of data:
-- 1-2-3
-- └-4
-- 10 - 11
INSERT INTO MyTable(ID,ParentID) VALUES
(1,null), (2,1), (3,2), (4,2),
(10,null), (11,10);
हम केवल रूट नोड को हटाकर पूरे पहले पेड़ को हटा सकते हैं:
DELETE FROM MYTable WHERE ID = 1;
हालांकि ध्यान दें कि दस्तावेज़ कि CASCADE
. की गहराई की एक सीमा है हटाता है: