Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

SQL में पदानुक्रमित टैगिंग

मैंने इसे दो कॉलम का उपयोग करके कार्यान्वित किया। मैं इसे यहाँ थोड़ा सरल करता हूँ, क्योंकि मुझे टैग नाम को एक अलग फ़ील्ड/टेबल में रखना था क्योंकि मुझे इसे विभिन्न भाषाओं के लिए स्थानीय बनाना था:

  • टैग
  • पथ

उदाहरण के लिए इन पंक्तियों को देखें:

tag            path
---            ----
database       database/
mysql          database/mysql/
mysql4         database/mysql/mysql4/
mysql4-1       database/mysql/mysql4-1/
oracle         database/oracle/
sqlserver      database/sqlserver/
sqlserver2005  database/sqlserver/sqlserver2005/
sqlserver2005  database/sqlserver/sqlserver2008/

आदि.

like का उपयोग करना पथ क्षेत्र पर ऑपरेटर आप आसानी से सभी आवश्यक टैग पंक्तियाँ प्राप्त कर सकते हैं:

SELECT * FROM tags WHERE path LIKE 'database/%'

कुछ कार्यान्वयन विवरण हैं जैसे जब आप पदानुक्रम में एक नोड को स्थानांतरित करते हैं तो आपको सभी बच्चों को भी बदलना होगा, लेकिन यह कठिन नहीं है।

यह भी सुनिश्चित करें कि आपके पथ की लंबाई काफी लंबी है - मेरे मामले में मैंने पथ के लिए टैग नाम का उपयोग नहीं किया है, लेकिन यह सुनिश्चित करने के लिए एक और फ़ील्ड है कि मुझे बहुत लंबा पथ नहीं मिलता है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysql रूट पासवर्ड कैसे रीसेट करें?

  2. MySQL/MariaDB में एक डेटाबेस को कैसे डिलीट करें

  3. दूसरे कंप्यूटर से XAMPP MySql डेटाबेस को एक्सेस करना

  4. बड़े परिणाम सेट के साथ PDO/MySQL मेमोरी खपत

  5. पंक्ति उत्पाद प्राप्त करें (गुणा)