mysql工作台上的复合主键

时间:2019-03-21 11:49:22

标签: mysql mysql-workbench composite-primary-key

我正在购物车表product_IdUser_Id上生成组合主键。这些分别是product表和user表上的主键。

所以

  • 我是否需要引用这些主键(外键,以便仅存在的ID是两个表中都存在的ID)?
  • 我可以把它留作两个主键吗?
  • 如何在MySqlWorkbench中添加它们?

2 个答案:

答案 0 :(得分:0)

根据我过去的尝试,最好的做法是将product_id和user_id用作外键,并将它们引用到表product和user中它们各自的主键。 这样,您可以确保数据没有被错误填充。

答案 1 :(得分:0)

这取决于您要使用数据库实现的目标。

您很可能想将它们作为外键添加到n至n表中。最简单的方法是在建模视图中打开工作台,并在产品和用户之间定义n对n的关系。

这将确保您的表上的数据完整性。

您可能希望每个用户-产品对只有一个连接。您可以通过创建不包含这两个索引的唯一索引或使其成为该新表的主键来实现。我个人不会使用组合键,因为您的模型可能会更改,然后您会变得更加灵活。