表关系
大家好,我需要帮助如何在MYSQL中输入和拉出一个简单的多对多关系表中的数据,因为我完全迷失了,并即将使用设置的数据类型,但我知道多对多是正确的方法。为了帮助您更好地理解,我提供了一张表格布局的图片。我有三张桌子(衬衫,shirt2color,颜色)。shirt表有2列(shirt_id、shirt),shirt2color (映射表)有2列(shirt_id、color_id),颜色表有2列(color_id、color)。
我已经创建了表和关系,但是如何在不手动映射的情况下输入和拉取数据?有没有一个INSERT语句,我可以添加t恤,并在一条语句中告诉数据库它是可用的颜色,它会将“t恤”和“红、绿、蓝”添加到数据库中,并自动填充映射表?使用照片中的示例作为指导:(p.s.我想这就是示例关系数据存储在映射表中的方式,如果不是,请让我知道)
我知道这些可能完全是新手问题,但在过去的几周里,我在网上找不到这些问题的答案。感谢你们能提供的任何帮助。
发布于 2018-07-19 09:02:20
1)
您不能-您需要为每个表编写单独的insert语句。
2)
SELECT shirt.shirt_id, shirt.shirt FROM shirt
INNER JOIN shirt2color ON shirt.shirt_id = shirt2color.shirt_id
INNER JOIN color ON shirt2color.color_id = color.color_id AND color.color = 'Red'
3)
您可以向color
表的color
列添加一个UNIQUE
约束,这将防止创建重复的条目。当您想要插入一个新项目时,您应该首先检查该颜色是否已存在于表中,如果存在,则在shirt2color
表中使用它。
https://stackoverflow.com/questions/51412464
复制相似问题