1

我有一个由邻接列表模型组成的表类别:

id  name             parent_id
------------------------------
1   Clothing         0
2   Books            0
3   Computers        0
4   Mobiles          0
5   Movies           0
6   Music            0
7   Mens             1
8   Shirts           7
9   Formal Trousers  7
10  Jeans            7

和 product_category 表:

product_id fk
category_id fk
parent_id

并有一个产品表:

product_id
category_id
parent_id
prod_name
genre
unit price
image

我如何将产品插入到具有父 ID 链接的表中,然后它又具有到类别的链接。这样我就可以从 parent_id 和类别中检索产品。我应该将 parent_id 定义为主键吗.. 帮助表示赞赏.. 提前谢谢..

4

1 回答 1

1

假设产品和类别之间的关系是 M:N,并且类别和产品都形成一个层次结构(彼此独立),您的模型应该如下所示:

类别:

category_id PK
parent_id FK -> category.category_id
(other fields...)

产品:

product_id PK
parent_id FK -> product.product_id
(other fields...)

产品分类:

product_id FK -> product.product_id
category_id FK -> category.category_id
PK (product_id, category_id)

我不太清楚你的意思是什么:“我怎样才能在表中插入产品,该表具有指向父 ID 的链接,而它又具有指向类别的链接”?假设您知道父产品的 id 和类别的 id,您可以:

INSERT INTO product (product_id, parent_id, other fields...)
VALUES (whatever, known parent id, other values...)

然后将其连接到类别:

INSERT INTO product_category (product_id, category_id)
VALUES (what you inserted above, known category id)
于 2013-02-17T11:11:04.027 回答