Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Generuj menu nawigacyjne kategorii przechowywanych w MySQL

Lubię używać Zmaterializowanej ścieżki metody, ponieważ zasadniczo zawiera ślad po nawigowaniu i ułatwia wykonywanie takich czynności, jak wybieranie wszystkich potomków węzła bez używania zapytań rekurencyjnych.

Model zmaterializowanej ścieżki

Ideą modelu zmaterializowanej ścieżki jest połączenie każdego węzła w hierarchii z jego pozycją w drzewie. Odbywa się to za pomocą połączonej listy wszystkich przodków węzłów. Ta lista jest zwykle przechowywana w postaci rozdzielanego ciągu. Zwróć uwagę na pole „Pochodzenie” poniżej. CAT_ID NAME CAT_PARENT Lineage 1 Home . 2 product 1 .1 3 CD’s 2 .1.2 4 LP’s 2 .1.2 5 Artists 1 .1 6 Genre 5 .1. 5 7 R&B 6 .1. 5.6 8 Rock 6 .1. 5.6 9 About Us 1 .1

Przechodzenie przez stół

Select lpad('-',length(t1.lineage))||t1.name listing
From category t1, category t2
Where t1.lineage like t2.lineage ||'%'
    And t2.name = 'Home';
Order by t1.lineage;

Lista

Home
-product
–CD’s
–LP’s
-Artists
–Genre
—R&B
—Rock
-About Us


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dlaczego otrzymuję wyjątek serwera MySQL w Django?

  2. Czy to wystarczy na bezpieczną witrynę? (4 małe funkcje)

  3. MySQL nie obsługuje klauzuli limit wewnątrz podselekcji, jak mogę to zrobić?

  4. Jak używać rozróżniania wielkości liter w instr() w MySQL?

  5. Nie można utworzyć modelu danych encji — przy użyciu MySql i EF6