gpt4 book ai didi

mysql - 需要帮助在 MySQL 数据库中设置外键关系

转载 作者:行者123 更新时间:2023-11-29 05:44:02 25 4
gpt4 key购买 nike

所以我必须使用 InnoDB 表(产品)和(类别)。我想在 Products 表的“Category”字段和 Categories 表的“CategoryId”之间建立关系。

但是当尝试创建 FK 时,它只会让我选择 Products 表上的主键“ProductsId”并映射到 Categories 表上的主键“CategoryId”。

也许我缺少设置外键的方式/原因。我的想法,如果我错了请告诉我:

1) 是要求产品添加到分类时,分类必须存在或必须先创建。除非您执行某些任务(以编程方式或在数据库后端)从您要删除的类别中删除产品,否则您无法删除类别。

2) 我希望 CategoryId 值存储在 Products 表的“Category”字段中。然后在我的 View 中显示时,需要通过 CategoriesId 值查找 Categories.Name 字段。

编辑:所以我明白外键中涉及的两个字段必须相同,大小,类型...等。但是,如何将 ProductId 和 CategoryId 链接到我上面提到的我想做的事情的上下文中。当我确实在 ProductId 和 CategoryId 之间创建 FK 时,我不会让我添加产品记录。

此外,类别名称字段和产品类别字段的类型、尺寸等相同,但我没有在外键选项卡中选择这些字段的选项?

我应该如何设置它以便类别表知道哪些产品属于每个类别。

最佳答案

好的,很遗憾,我必须回答我自己的问题。我的大部分技术问题的原因是因为您要创建的字段“必须编入索引”。

我遇到的综合性问题是,我需要摆脱 Products 表上的实际“Category”varchar 字段,并创建一个 CategoryId 字段,该字段仅具有 Category 表 CategoryId 字段中存在的值。

现在我只需通过 Products.CategoryId 值引用 Categories.Name 字段。

至少我是这么理解的。

关于mysql - 需要帮助在 MySQL 数据库中设置外键关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4258829/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com