sql >> Databáze >  >> RDS >> Mysql

moje sql více kategorie-podkategorie-podkategorie

Strukturujte svůj stůl takto:

Id   Category    ParentId
1     Jewelry     NULL
2     Body          1
3     nose ring     2
4     arm ring      2
5     ear ring      2
- 
-

Toto se nazývá samoodkazovací tabulka, tj. ParentId sloupce obsahuje buď NULL nebo hodnotu z Id sloupec stejné tabulky.

takže kdykoli potřebujete znát všechny přímé subcategories dané category , jednoduše vytvoříte dotaz jako :

   Select * from CategoryMaster where ParentId = 2;

tímto způsobem získáte všechny podkategorie pro podkategorii Body .

Nejlepší na této datové struktuře je to, že můžete mít n úrovní podkategorií pro libovolnou podkategorii a bude stačit jedna jediná tabulka se 3 sloupci (minimálně).



  1. Vysoké síťové časy TTFB na místním a vzdáleném serveru

  2. Co přesně se stalo s operací indexování?

  3. Zkrátit všechny tabulky v databázi MySQL jedním příkazem?

  4. Vložení formuláře HTML nefunguje v PHP a MySQL