MySQL中如何设计类别和子类别?

Eme*_*ana 5 mysql sql database sqlite

我有一个类别列表和与每个类别相关的子类别数量。假设类别表被称为 Cat 然后我有热类别和冷类别我有另一个名为 subcats 的表然后我有以下内容:

 ID Name
 1 Hot
 2 Cold
Run Code Online (Sandbox Code Playgroud)

子猫

SubCatID   CATID   Name
  1       1        soup 
  2       1       rice 
  3       1       pizza 
  4       2       salad 
  5       2       fruit
Run Code Online (Sandbox Code Playgroud)

我应该在我的设计中考虑性能,你如何评价我的设计?有没有更好的解决方案?

(类别只是示例 - 我有很多类别和子类别。)

Zek*_*erg 4

您可以将所有内容放在一张表、类别中。然后有一个parentID 列。如果parentID = 0,那么它是一个主类别,如果它是另一个ID,那么它是一个子类别?此结构将支持子子类别...不确定这对您是否有帮助。

示例字段:

Table: category
categoryID
parentID
name
Run Code Online (Sandbox Code Playgroud)

示例数据:

categoryID : 1
parentID : 0
name : hot

categoryID : 2
parentID : 0
name: cold

categoryID : 3
parentID : 2
name : a soup that's cold

categoryID : 4
parentID: 1
name: a soup that's hot
Run Code Online (Sandbox Code Playgroud)