【发布时间】:2019-08-12 06:30:34
【问题描述】:
我在购物车表 product_Id 和 User_Id 上生成复合主键。这些分别是product 表和user 表上的主键。
所以
- 我是否需要引用这些主键(外键,所以唯一存在的 id 是两个表中都存在的那个)?
- 我可以将其保留为两个主键吗?
- 如何在 MySqlWorkbench 中添加它们?
【问题讨论】:
标签: mysql mysql-workbench composite-primary-key
我在购物车表 product_Id 和 User_Id 上生成复合主键。这些分别是product 表和user 表上的主键。
所以
【问题讨论】:
标签: mysql mysql-workbench composite-primary-key
这取决于你想用你的数据库实现什么。
您很可能希望将它们作为外键添加到您的 n 到 n 表中。最简单的方法是在建模视图中打开工作台并定义产品和用户之间的 n 到 n 关系。
这将确保您的表具有数据完整性。
您可能希望每个用户只有一个连接 - 产品对。您可以通过创建一个没有这两个的唯一索引或将它们设为该新表的主键来实现这一点。我个人不会选择组合键,因为您的模型可能会改变,然后您会更加灵活。
【讨论】:
根据我过去的尝试,最好的做法是将 product_id 和 user_id 作为外键,并将它们引用到表 product 和 user 中各自的主键。 这样可以确保数据没有填写错误。
【讨论】: