नेस्टेड ट्री मॉडल बनाते समय, कभी भी lft
. पर डुप्लीकेट न बनाएं और rgt
. वास्तव में, आपको उन्हें अद्वितीय घोषित करना चाहिए।
आप डेटा मॉडल में, श्रेणी के लिए सेट 1
और 8
ओवरलैप। कहें, 1
करने के लिए 14
दोनों आइटम के लिए उपयोग किया जाता है 1
और 8
।
उन्हें इन मानों से बदलें:
INSERT INTO `categories` VALUES(1, NULL, NULL, 'Fruits', 1, 14);
INSERT INTO `categories` VALUES(2, 1, 1, 'Apple', 2, 3);
INSERT INTO `categories` VALUES(3, 1, 1, 'Orange', 4, 9);
INSERT INTO `categories` VALUES(4, 3, 1, 'Orange Type 1', 5, 6);
INSERT INTO `categories` VALUES(5, 3, 1, 'Orange Type 2', 7, 8);
INSERT INTO `categories` VALUES(6, 1, 1, 'Pear', 10, 11);
INSERT INTO `categories` VALUES(7, 1, 1, 'Banana', 12, 13);
INSERT INTO `categories` VALUES(8, NULL, NULL, 'Eletronics', 15, 29);
INSERT INTO `categories` VALUES(9, 8, 8, 'Cell Phones', 16, 17);
INSERT INTO `categories` VALUES(10, 8, 8, 'Computers', 19, 24);
INSERT INTO `categories` VALUES(11, 10, 8, 'PC', 20, 21);
INSERT INTO `categories` VALUES(12, 10, 8, 'MAC', 22, 23);
INSERT INTO `categories` VALUES(13, 8, 8, 'Printers', 25, 26);
INSERT INTO `categories` VALUES(14, 8, 8, 'Cameras', 27, 28);
अब आपको root_id
. पर ऑर्डर करने की जरूरत नहीं है ।
कोई आसान तरीका नहीं है, जब तक कि आप शुरू से ही नाम क्रम में नोड्स नहीं डालते। बड़े name
वाले भाई-बहन lft
greater से बड़ा होना चाहिए और rgt
:
INSERT INTO `categories` VALUES(1, NULL, NULL, 'Fruits', 1, 14);
INSERT INTO `categories` VALUES(2, 1, 1, 'Apple', 2, 3);
INSERT INTO `categories` VALUES(7, 1, 1, 'Banana', 4, 5);
INSERT INTO `categories` VALUES(3, 1, 1, 'Orange', 6, 11);
INSERT INTO `categories` VALUES(4, 3, 1, 'Orange Type 1', 7, 8);
INSERT INTO `categories` VALUES(5, 3, 1, 'Orange Type 2', 9, 10);
INSERT INTO `categories` VALUES(6, 1, 1, 'Pear', 12, 13);
नेस्टेड ट्री में केवल एक निहित क्रम हो सकता है।
MySQL
. में आसन्न सूची को क्वेरी करने का एक तरीका भी है :
, हालांकि, यदि आप id
के अलावा किसी अन्य चीज़ पर ऑर्डर करना चाहते हैं, तो आपको एक अतिरिक्त अनन्य ऑर्डरिंग कॉलम बनाना होगा ।
आप इस लेख को भी पढ़ना चाहेंगे:
जो दिखाता है कि नेस्टेड सेट को अधिक कुशलता से कैसे स्टोर और क्वेरी किया जाए।